Refactored.
Fixed bugs.
Added cobertura coverage support.
Finished with unit tests.