Implementation of this interface needs to register with ReplicationManager and will receive updates to be
applied to its locally replicated data. If locks are used the implementation is resposible for lock acquisition
and management. To do so, it probably needs to maintain a lock table (keys = resource objects, values = transactions)
to associate resources with locks and possibly a transaction table (keys = transactions, values = locks) to keep
track of all locks for a given transaction (to commit/release all modifications/locks for a given transaction).