Design patterns playground