Well, right now, the rails are triggering the entity to move, then the entity checks if it is possible to move, find out it's not possible and say STOP to the rails. The rail has a short memory, he tries it again after waiting a bit. Then the entity has to check again: "hey can I move now" he...