fire and forget option

when the fire and forget option is true or at least not left undefined, then the constructor could be invoked without an error if you elect not to pass its callback function.