Woo - that is impressive. Here's a link to a Block-Signalling system I created 2-years ago using Finite State Machines (FSMs).