Could this class work as a decorator instead of a replacement/subclass?