I'm trying to think of all the scenarios where that `otherwise` would fire; is it only when a database call fails now?  Does the otherwise fire when we reject in this function (that would mean if the permissable() rejects it runs it again)?