I would still prefer if Context was passed as const& rather than *. Then it can be passed inline and then it's clear that the context will not get modified by `execute`.