The Design of the prototype 2

This is the statechart of what I have implemented in the second prototype.

The source code is available at: Prototype 2