Improves Dependency Injection

ref #330 - API classes can be instantiated from an external IoC Container which supports the Container Interop standard