Actual objects instead of a class of functions is nice.  Fixed up some documentation.