internal DependObject(ImpromptuViewModel parent, string property, FireOnPropertyChangedDependencyAware onChange)
 {
     _parent       = parent;
     _property     = property;
     _onChange     = onChange;
     _dependency   = new Dependency(_parent, _property);
     _unDependency = new UnDependency(_parent, _property);
     _getProprty   = new CacheableInvocation(InvocationKind.Get, _property);
     _setProprty   = new CacheableInvocation(InvocationKind.Set, _property);
 }
 internal PropertyDepend(ImpromptuViewModel parent, FireOnPropertyChangedDependencyAware onChange)
 {
     _parent   = parent;
     _onChange = onChange;
 }
 internal SetupTrampoline(ImpromptuViewModel viewModel)
 {
     _viewModel           = viewModel;
     _onChangedTrampoline = new FireOnPropertyChangedDependencyAware(_viewModel);
 }