Tracking my sample code while studying "Programming Foundations: Design Patterns" course by Eric Freeman and Elisabeth Robson.