Parameterize underlying controller monad