Create the framework class and refactor the API.