Rewrite - see description
Rewrite - see description

- separate DI container from application
- optmise container init process
- added static methods to retrieve a service
- refactoring

getherbie/plugin-random