Split out widget class