Begin adding gregfranko's widget factory features