Require Executor instead of ExecutionContext