I shouldn't be null for the current use. But what is the harm in checking?

Could be allowed to be null if you wanted the process to be run, but you didn't need a callback from it.
(Note that this PR doesn't allow the above case)