avoid retaining self
refactor to simply just using -map: instead of -combineLatest:reduce: