Add BaseWidget class, handle unhooking from events there