bug: register/unregister receiver + multithreading