all things that could be dynamically created now have factories and class hierarchies.