Can we support a null callback here?
If true, we need to add a `if(XXX)`.