initializeScriptManager is called separately for every leaf project in the gateway, and for the gateway scripting project, to support scripts running in the gateway. Each call should get a customized instance if there is different behavior based on the project. Every script environment gets its own tree under system.*
.
And no, your script module cannot be your RPC handler. That way lies madness.
Keep in mind that your gateway scripts are not called through the RPC handler–the RPC handler is only getting referenced if your Vision client or the designer invoke it.