You could use the reset() method to do much of this initialization. As it is, you duplicate code here and there. Especially if you rename reset() to something like setInitialState().