Scripting Language extensions via plugins

I’ve started implementing a CLR binding and have run into an issue with FScriptContextBase::CreateContext(), it can only create a Lua context, and there’s no way to override that behavior. Perhaps some sort of registry of FScriptContext factories is in order, the various ScriptPlugin(s) could then register their factories, and FScriptContextBase::CreateContext() could pick the relevant factory at runtime based on some sort of identifier passed in by the caller.