A great little demo that's really well documented. There are good comments in the code to generally explain the events that follow it.
An excellent effort.