Rename Thread to CatchableThread and define uncaught exception handler as abstract method