public void Detach()
        {
            if (this.RelayInstance != null)
            {
                // first: reset member to prevent further eventing of ValueChanged event.
                RelayObject temp = this.RelayInstance;
                this.RelayInstance = null;

                // second: clear the binding -> raises property changed event...
                temp.ClearValue(RelayObject.ValueProperty);
            }
        }