def _flex_column_owned_object_for(column_name, create_if_needed = true)
      column_name = self.class._flex_column_normalize_name(column_name)

      out = _flex_column_objects[column_name]
      if (! out) && create_if_needed
        out = _flex_column_objects[column_name] = self.class._flex_column_class_for(column_name).new(self)
      end
      out
    end
def _flex_column_owned_object_for(column_name, create_if_needed = true)
      column_name = self.class._flex_column_normalize_name(column_name)

      out = _flex_column_objects[column_name]
      if (! out) && create_if_needed
        out = _flex_column_objects[column_name] = self.class._flex_column_class_for(column_name).new(self)
      end
      out
    end
Returns the correct flex-column object for the given column name. This simply creates an instance of the
 appropriate flex-column class, and saves it away so it will be returned again if someone requests the object for
 the same column later.

 This method almost never gets invoked directly; instead, everything calls it via
 FlexColumns::ActiveRecord::Base#_flex_column_object_for.