Rewrite learner performance

Maybe better as `add_emis_and_redirect` with a `redirect_state` param