A PRIVATE event can have a handler subscribed to it only by the defining class. An instance can subscribe a handler to a private event of another instance if both instances are of the same class. A PROTECTED event can have a handler subscribed to it by the defining class and any of its derived classes. A PACKAGE-PRIVATE event can have a handler subscribed to it by the defining class and any class within its package. A PACKAGE-PROTECTED event can have a handler subscribed to it by the defining class, any class within its package, and from within any subclass that inherits the class. A PUBLIC event can have a handler subscribed to it from any code (in a class or a procedure) that has access to a class instance. For more information, see Access modes.