This is safe against backwards breaks:
Allows a controller to be specified by closure, with slightly different behaviour.