title: Observe every item in RACSequence
body: <p>I have a method on ParentViewModel which returns an RACSequence of ViewModel objects like so:</p>
  
  <pre><code>- (RACSequence *) viewModels
  {
      return [self.models.rac_sequence map:^id(Model *model) {
          return [[ViewModel alloc] initWithModel: model];
      }];
  }
  </code></pre>
  
  <p>Each of the ViewModels has a state property on which is an enum and has 3 states: NotStarted, InProgress and Completed. When all the ViewModels in my sequence have the state Completed I know ParentViewModel is valid. I have a validSignal on the ParentViewModel which I want to derive the fact that is valid from the viewModels sequence. At the moment I have this code:</p>
  
  <pre><code>BOOL valid = [[self viewModels] all:^BOOL(ViewModel *vm) {
          return vm.state == Completed;
      }];
  </code></pre>
  
  <p>Which gives me an indicator if all ViewModels in the sequence are valid. How can I then turn this into a RACSignal which will update every time the state property on one of the ViewModels changes?</p>