What else would we do, have a function similar to Update, but like, OnMoveInto / OnMovedInto instead?
We could try to extract it out into element functions since there is probably enough of an if else block to justify it. But I've never seen the point. And there's even more things in the simulation code that will need to stay hardcoded.