Relates #30, #14 It's hard to know what you can *really* change in the API since some of the internal implementation bits leaked out into the public namespace. Ideally, it'd be nice to deprecate those private bits, and simplify the public interface, and do a bit more testing on it. \cc @clalancette