Use decorator pattern

- PHP 5.3.3 does not like it when you implement multiple interfaces that define
  the same method, even if the signatures are identical.
- Workaround is to implement a decorator.