Fasito Finito State Machine is a common project for develop any kind of software.