async, timer, prepare, idle and check handles don't need the status parameter.
Allow a NULL callback so the user doesn't have to provide a dummy when the actual event is processed by e.g. a check handle callback.