Do you really need unregisterXXX? Since it's only going to callback once can't it just unregister itself?