@ricardoquesada 
I agree with Minggo, we need to use 'createWithXXX' method only when 'create' cannot distinguish parameters.
For example, in this situation
```cpp
static Sequence* create(FiniteTimeAction *pAction1, ...);
static Sequence* createWithTwoActions(FiniteTimeAction *pActionOne, FiniteTimeAction *pActionTwo);
```
`createWithTwoActions` is needed since if it's `create` as the first one, complier will trigger compilation errors.

Therefore, IMO, `createWithXXX` is only needed in some cases.
If I'm wrong, please correct me.

Anyway, I merged your PR after I resolved the conflicts. If you agree with my point, maybe you need to correct it in another PR or I'll be glad to do that. :)