Generalize add_subscription