make separate precapture and postcapture execute phases

I feel like I’m missing something here and this could be a lot DRYer.