Made the public API more pythonic, i think.
Almost feature complete for first release.