Revamp to use Execution object to allow multiple simultaneous invocations