Can do this with inject too and lose the transition_list ivar