Accept anything callable as a callback, need not be a global function name.

Change-Id: Ie8300015e90f3b552322d5d8defa5d085cc709f1
Merge "Accept anything callable as a callback, need not be a global function name."