Still hacked up functionality, but most of the code is there and the project structure is in place.

No JavaDoc
No UnitTest
Merge remote-tracking branch 'origin/master'