As there can be different implementations of how proposals are processed depending on the type of change proposed, e.g., record changes, choosing database identifiers, etc., various key methods of the base ArbitrationObject class can be overridden by more specialized classes responsible for handling certain kinds of changes.