Command line application built with Memento, Observer and State GOF patterns