CallableController shouldn't have been abstract.