The timers should not be weak.
This timer also shouldn't be a weak reference, since again, it's being created and added to a run loop a bit later.