Implement a controller framework.