Convert client [de]compressor to seperate threads and monitor events