public:
void Update(Time delta) {
for (typename std::list<TimerData<Time> >::iterator i(data.begin()), end(data.end()); i != end;) {
+ TimerData<Time> &t(*i);
if (i->target > 0) {
Time intervalTime(i->time);
while (intervalTime > i->target) intervalTime -= i->target;