Thread-safe default listener initialization, more descriptive exceptions, documenting methods.