It is pretty cool! I tried to come up with something similar a while back but failed miserably so learnt some new stuff figuring out the problem when it occurred.

Dom