I think this should perhaps be private? so the primary dispatchers are evident and then the sub callables sit back in the api, not meant to be called elsewhere.