Heavily influenced by AngularJS and its implementation of dependency injection. Inspired by Guice and Pico Container.