[Soc2014] Official meta API

I think it would be easier to maintain if we minimize "dynamic behaviors" (and especially conditionals) on this mixin - these are simply boolean flags, after all. Dynamically setting one flag based on another is more complex (and thus IMO more bug-prone) than simply setting the flags statically to the correct values on subclasses (when there is a known correct static value for that subclass.

After all, "just set the right value for the flag on the subclass" is what we generally want authors of fields to do, right? So why not do the same internally?