Began work on implementing collections and using an ioc container.

- [ ] - #38