subscriptions are stored in a trivial gen_server state