Implemented the IMulti interfaces to a generic abstract implementation.

This had some consequences for the util class as I discovered the need for some expanded functionality.

Onto the events!
Sync Commit
Events this time around.