Vast simplification of the whole thing by just modifying the context data a bit