Moving app loop into component, dispatch uses om.