Might be good to throw an error if `func` is not a function; otherwise, `addCallback` will silently do nothing.