Extracted event hashing into EventHashable

Extracted the event_hash generation from QueueDecorator to EventHashable
and added tests for some of the logic.