public void RegisterPendingChange(DatabaseCommand command, object contributer)
        {
            if (command != null)
            {
                command.CheckPermissions(User);

                _pendingChanges.Add(command);
                if (contributer is IChangeContainerObserver && !_observers.Contains(contributer))
                {
                    _observers.Add(contributer as IChangeContainerObserver);
                }
                if (ChangeRegistered != null)
                {
                    ChangeRegistered(this, command);
                }
            }
        }