title: SpriteKit custom action with duration of 0.0 is called twice the first time it is ran
body: <p>I'm unsure of whether this is a bug or I'm doing something wrong, but when I try and run a custom action with a duration of 0.0, the block runs two times. For instance, if I put this code inside a scene's init method, I get the following output:</p>
  
  <pre><code>SKAction *doThis = [SKAction customActionWithDuration:0.0 actionBlock:^(SKNode *node, CGFloat elapsedTime) {
      NSLog(@"DO THIS");
  }];
  [self runAction:doThis];
  
  
  
  2014-03-13 01:41:11.271 Leapfrog[2168:60b] DO THIS
  2014-03-13 01:41:11.287 Leapfrog[2168:60b] DO THIS
  </code></pre>
  
  <p>If I attempt to run two actions in sequence, the first time it executes twice, the second time it executes once, like so:</p>
  
  <pre><code>SKAction *doThis = [SKAction customActionWithDuration:0.0 actionBlock:^(SKNode *node, CGFloat elapsedTime) {
      NSLog(@"DO THIS");
  }];
  SKAction *doThat = [SKAction customActionWithDuration:0.0 actionBlock:^(SKNode *node, CGFloat elapsedTime) {
      NSLog(@"DO THAT");
  }];
  NSArray *actions = [NSArray arrayWithObjects:doThis, doThat, nil];
  SKAction *sequence = [SKAction sequence:actions];
  [self runAction:sequence];
  
  
  
  2014-03-13 01:46:11.910 Leapfrog[2184:60b] DO THIS
  2014-03-13 01:46:11.926 Leapfrog[2184:60b] DO THIS
  2014-03-13 01:46:11.942 Leapfrog[2184:60b] DO THAT
  </code></pre>
  
  <p>So far, the only way I've figured out how to get it to run properly is to include a dummy action at the beginning:</p>
  
  <pre><code>SKAction *wait = [SKAction waitForDuration:0.0];
  SKAction *doThis = [SKAction customActionWithDuration:0.0 actionBlock:^(SKNode *node, CGFloat elapsedTime) {
      NSLog(@"DO THIS");
  }];
  SKAction *doThat = [SKAction customActionWithDuration:0.0 actionBlock:^(SKNode *node, CGFloat elapsedTime) {
      NSLog(@"DO THAT");
  }];
  NSArray *actions = [NSArray arrayWithObjects:wait, doThis, doThat, nil];
  SKAction *sequence = [SKAction sequence:actions];
  [self runAction:sequence];
  
  
  
  2014-03-13 01:48:41.946 Leapfrog[2192:60b] DO THIS
  2014-03-13 01:48:41.964 Leapfrog[2192:60b] DO THAT
  </code></pre>
  
  <p>Am I stuck putting in a wait action with zero duration every time I want to do this sort of thing? </p>