Active Object macros allow control of a top level object or process at key points in its lifetime. Standard events occur for each data object as it is loaded, saved, closed, and deleted. Other events fire at the beginning and end of certain processes. Code may be written inside these events to take action on a given data object, to enforce custom business rules, or to prevent processes from occurring under specified conditions.