[#7] Cleaned up some APIs, lots of ScalaDocs