rename deferCallback to defer