I don't want to allow polymorphic deletion for this interface. So this dtor is protected. Also `virtual` is not required here.