Added Generic State Machine project