When do we nest class?

class Sidebar < ActiveRecord::Base   serialize :config

  class Field     attr_accessor :key     attr_accessor :options     attr_accessor :default     include ApplicationHelper     include ActionView::Helpers::TagHelper     include ActionView::Helpers::FormTagHelper     include ActionView::Helpers::FormOptionsHelper

    def initialize(key, default, options = { })       @key, @default, @options = key.to_s, default, options     end

    class SelectField < self       def input_html(sidebar)         select_tag(input_name(sidebar),                    options_for_select(options[:choices], sidebar.config[key]),                    options)       end     end

    class TextAreaField < self       def input_html(sidebar)         html_options = { "rows" => "10", "cols" => "30", "style" => "width:255px"}.update(options.stringify_keys)         text_area_tag(input_name(sidebar), h(sidebar.config[key]), html_options)       end     end

end