This paper propose a simple and powerful approach to associating rules with events in reactive object-oriented database systems. In it we propose a new run time subscription mechanism, which associates rules with specific event definitions. This brings optimization considerations - when to fire a rule - to the language level. The proposed subscription mechanism reduces rule checking to a minimum. It can be applied to both primitive and composite events. Both rules and events are represented as first class objects. This architecture has been adopted in the ACOOD2 prototype on top of ONTOS.