Refactored naming strategy to allow for more fine-grained strategies dependant of the sort of type creation.