Activities are pure (no IO).

IO, if necessary, is delegated to the engine (using tasks).