Working through Design Patterns book (Gamma, Helm, Johnson, Vlissides - GoF)