private void OnDrop(Interactable subject)
        {
            subject.gameObject.GetComponent <Rigidbody>().isKinematic = true;
            var subjectTransform = subject.transform;
            var myTransform      = transform;

            subjectTransform.position = myTransform.position;
            subjectTransform.rotation = myTransform.rotation;
            if (appendScale)
            {
                subjectTransform.localScale = myTransform.localScale;
            }
            subject.Dropped -= OnDrop;
            occupied         = true;
            Snapped?.Invoke(subject);
        }
 internal void OnSnapped(ImageSource source) => Snapped?.Invoke(this, new FunctionEventArgs <ImageSource>(source));