Uvm objection and callback

what is the difference between uvm_objection_callback and uvm_callback_objection classes? why is there a need for a separate callback objection when there can be objection based callback ?

In reply to bharat_vg:

See the UVM Reference Manual:

uvm_objection_callback

: The uvm_objection is the callback type that defines the callback implementations for an objection callback. A user uses the callback type uvm_objection_cbs_t to add callbacks to specific objections.

uvm_callbacks_objection

: The uvm_callbacks_objection is a specialized uvm_objection which contains callbacks for the raised and dropped events. Callbacks happend for the three standard callback activities, raised, dropped, and all_dropped.