Library, which allows different widgets to register it's own history events handlers, which won't be conflicting with each others