Added javadocs and separated trivial implementations into distinct packages.
25 files changed