public abstract void Undo(SingleOperation operation);
public abstract void Affect(SingleOperation operation);