MCM (Message-Command-Message) is an open source framework for building modular, military simple .NET applications and state machine APIs of any size. Highly recommended is using it with Visual Studio Templates from http://www.mcm-framework.net