Limited events + update loop