Add specific types of events and make the log message optional. This
is the start of trying to fit more useful machine-readable information
into the system events.
Add overloads for logging with no message
Rename property
Continued event refactoring. Introduced notion of event scopes, which
distinguishes the 'subjects' of an event (the item created/deleted etc)
from the item the subjects 'belong' to, if any.