Okay, so splitting Imp into two stages is turning into a pretty big refactor.