Added some premature registration overloads
(+) CTL-24 ServiceLocator can now register types with a callback so types can be created using a function callback
Merge branch 'feature/ServiceLocatorCallbackRegistration' into develop