Initial stab at using events to get and release locks
Fix rubocop issue
Merge pull request #23 from esigler/add-events-support

Add events support