Command line application built with Observer and Strategy GOF patterns, MVC POSA pattern, Caching and Evictor POSA 3 pattern