widget base, inherits class, extends events