Add type factory (hierarchical) interface & default implementation
Large refactor -- remove validators and replace with observances, change managers, etc.