I don't think so. It should be public since I don't want make a `create` method for `TimerXXX`. I don't want to make it an `autorelease` object while creating.

The usage of it is
```
TimerXXX* timer = new TimerXXX;
timer->initWIthXXX(...);
...
// After being used.
timer->release()

```