Playing with design patterns