We had similar ideas about programming directions, but arrived at very different outcomes. Yours has much more control, but is also much more straightforward. Good idea, good execution, decent number of levels.