Soc2014 meta refactor upgrade

I notice we have this logic at least a couple times. Can we make it a property of Field/gfk/etc? I'm not sure what "direct" means in this context either, so it would nice if the name were more self-explanatory.