Another future improvement would be to move the wrap logic here. That way, the extra function will only be called once for each subscription (depending on which path the promise's fate takes it).