Unless otherwise noted, the names of specific patterns refer to those presented in Gamma et al.’s Design Patterns catalog  [13].