rename preDomUpdate -> midCycleUpdate and postDomUpdate -> endCycleUpdate, and only call endCycleUpdate when it really is the end of the cycle (more efficient, prevents a couple of weird corner case bugs)