add option to enable different classes of listeners (grouped into read, write, remove, exception, and all). unit tests for same.