You can have a look at the default world related scripts in your package cache. Currently, the default world initializer just reflects everything that derives from ComponentSystemBase and creates a manager for the type unless it specifies a DisableAutoCreationAttribute.
I guess you could just create your own World ( it adds itself to a static list of worlds when its constructed ) and register components to that one, manually or otherwise.
There’s some non obvious boilerplate bits ( like registering the world to ScriptBehaviourUpdateOrder ), but the code in DefaultWorldInitialization.cs should be enough to get you started.