1. A method for allowing an unmodified single-user application program to operate in a multi-user operating system environment and to create both user-global objects and system-global objects, the method comprising the steps of: (a) intercepting a request from the unmodified single-user application program directed at a default function of the operating system to instantiate an object, the interception being effected by directing the request to an alternate function, the alternate function replacing the default function and having the same name and being called in the same way as the default function; (b) determining a visibility level for the object; (c) instantiating the object; and (d) assigning the determined visibility level to the instantiated object.