public IObservable <Unit> Clear()
 {
     UpdateSubjects(true);
     StackRedo.Clear();
     StackUndo.Clear();
     UpdateSubjects();
     return(Observables.Unit);
 }
        public void Dispose()
        {
            StackRedo.Clear();
            StackUndo.Clear();

            _canUndo.Dispose();
            _canRedo.Dispose();
            _canClear.Dispose();
            _canRecord.Dispose();
        }