* Put `Callback` function variables in local scope.
This change prevents conflict with other `Callback` functions that are
defined elsewhere in global scope.
* Update version number in change log.
Expand the event system to have explicit Event objects and potentially
many Notifiers. Previously they was only one notifier and one (implied)
event.
A lot of this is stolen from #358.