Assert that things aren't randomly null. This will make it easier
to fix than trying to hunt down obscure errors in the client caused
by nulls here.
Remove CallbackManager hacks.
Remove "non-critical" callbacks - if callers want to ignore the
exception they can just try/catch it.
Make addCallbackType private, and remove the unused delCallbackType
method.
All callbacks are now done through getCallback, which offers
type safety (gasp!) and is potentially extensible in the future
(wow!).
This means that nothing can depend on callbacks existing, so
there are two functional changes:
- the parser will no longer disconnect automatically on failed
pings; users have to listen for the event and handle it
themselves;
- the parser will no longer attempt to automatically use alt
nicknames or create new nicknames on connection; users have to
listen for the event and implement the logic themselves
Both of these were really weird anyway, as adding a listener (even
for debugging purposes) disabled the built-in behaviour.