Abstracted common "eventful" behavior into lib