This should ideally be an abstract decorator, with an abstract method from the delegate type (e.g. add another method to the delegate type which will remain not implemented by this decorator)