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); } } }