refactor internals to use an event-based model
Authored by: ndeloof 2007-12-03
Parent: [r179]
Child: [r181]