* avoid using lambdas and use dedicate class and subclasses for each widget type (lable, groupbox, tree, etc) * this makes the code much more clearer * allow creating custom highlight widgets with API