Never ever ever ever put crucial initialization code (like timer initialization) in the constructor of a class, especially when such a class will be used as a global variable. You simply can't rely on the static initializers, there's no defined order in which static data will be initialized, but you can be pretty sure it will be before your setup() function is called (and even before the Arduino's init code). Chaos ensues. Just spent several hours trying to figure out why the heck my code wouldn't functions properly. You've been warned...
The easiest solution is to introduce a start function to the class to do all the initialization and call it from the setup() function.