Interrupt on shutdown simplification
Worker thread is allowed to interrupt itself on shutdown and related changes
Change from IllegalArgumentException to NullPointerException when the passed argument is null
Shutdown was slow fix