Clones the current context (env + journal), passes the database, cloned env,
and cloned journal inner to the callback. The callback builds whatever EVM it
needs, runs its operations, and returns (result, modified_env, modified_journal).
Modified state is written back after the callback returns.