class Borrow : public Event { 
\c{\fbox{Borrow}}
public: Borrow( person* _p, book* _b ) { _b = b; _p = p; } void operator()() { require( _b && _p );
\c{// _b and _p exist}
_b->borrow(p); _p->allocate(b); } private: person* _p; book* _b; };

slide: The Borrow event class