Closes #10

Implemented Topics.

Refactored to use IOC for improved testability.

Stable Version 0.9.0.
Merge branch 'master' into docs
0.9.0 docs.