Refactor away some of transitionByIntent's girth