Mother of all commits: refactoring
Add JavaDoc for fluent API
Remove static factory methods
Adjust JavaDoc to current API
Fix some tests and JavaDoc
Add package-info files