protected virtual void OnChildRemoved(IBehavior child)// TODO - invoke this in MultiComposite?
        {

            if (MonitoringChildren)
            {
                child.StatusChangedForFromTo -= OnChildStatusChanged;
            }
#if BEHAVIOR_DISPOSE
            child.Dispose();
#else
#if !NO_BEHAVIOR_PARENTS
            child.Parent = null;
#endif
            if (child.IsRunning)
            {
                child.Cancel();
            }
#endif
        }