There should be universal approach of widget constructing 

With current approach, we already have two widget lookups (ListLookup, TextLookup). They share the most of code. We should avoid of code duplicity. There is a need to create universal widget lookup, which will be placed in WidgetLookup