Finished base class but untested.
Updated API documentation.