createWidget :: (Widget a) => UIState' -> (WidgetID -> Reactive a) -> Reactive ()
createWidget s wf = (s^.internal.push) $ NewWidget $ (MkWidget <$>) . wf
createWidget :: (Widget a) => UIState' -> (WidgetID -> Reactive a) -> Reactive ()
createWidget s wf = (s^.internal.push) $ NewWidget $ (MkWidget <$>) . wf
createWidget s wf = (s^.internal.push) $ NewWidget $ (MkWidget <$>) . wf