refactor widget base-class and add logging
refactoring widget base-class add on_* events