What we have today is a 2 step init, I'm not sure how this can be beneficial to mocking or testing. If we are thinking unit tests, what we are missing is dependency injection.

Our classes are not too bad, but lots of time they will still get stuff manually from the DOM or instantiate dependencies. 

Anyway, broad topic, would be better to discuss it in real time.