Rather than have executor/engine be passed in special, would it be cleaner to do something like this?

```
if (!_overrides.ContainsKey(typeof(IScriptExecutor))
    _overrides[typeof(IScriptExecutor)] = _debug ? typeof(DebugScriptExecutor) : typeof(ScriptExecutor);
if (!_overrides.ContainsKey(typeof(IScriptEngine))
    _overrides[typeof(IScriptEngine)] = _debug ? typeof(RoslynScriptDebuggerEngine) : typeof(RoslynScriptEngine);
```

Then `RuntimeServices` would register those services with `RegisterOverrideOrDefault` like most services?