Objects have multiple types depending on how they are implemented.
Internal objects are things that exist only inside nexus. Interfaces are presented allowing SDK access to them, but they cannot be extended or replaced.
There may be many different implementations of these objects, but a single plug-in client only ever sees their own.
On rare occasions objects are only ever implemented as part of plug-ins, but can still be seen by other plug-ins.
Mixed objects may be implemented internally, or they may have implementations rooted in plug-in code.
Servers are a specific type of mixed object. They are not only implemented both internal and external to the nexus library, but they have unique types and names allowing them to be created at will.