For each operation, support two kinds of callback functions: accept() and reject(), so that user can update their part after each update.