Reduce visibility for constructor used for testing.
Add javadocs and missing constructor