If the callback is `null` do you still have to generate the key?