Add JavaDocs to almost all public stuff