Currently, the only way to choose something other than BehavioralEndpointDefinitionRouter is to inherit from EndpointDefinition and override the hardcoded behavior in __init__. It would be nice if the stock EndpointDefinition accepted an optional alternate router class argument to simplify this process.