refactored how beans are defined, fixed issue with injection load order (beans are still created at startup, but if bean dosnt exist on inject it is created on the fly), added ability to delete bean instances