removing trigger, adding promise containing channel to be returned from subscribe()