It's a remote object model, very similar in spirit to CORBA. This allows the object creator/user and the object itself to be in different fault domains - which makes it all too easy to lose track of objects and leak them, unless you've added significant management scaffolding.