fix: remember challengers public key
use factory that ensures observing on android main thread