pulled from upstream
pull from upstream.
De-coupled Pool from other dependencies. Added factories where needed for proper constructor injection.
Cleaned up unused properties and usings.
Added singleton application context to wrap the IoC container.
Merge pull request #123 from a432511/develop

Decoupled pool and other dependencies