Cleanup of the API.
Updated documentation.
Updated unit tests.