A simple framework to test out design patterns