This is a simple app on decorator pattern, a nice software design pattern