Again, with consistent constructor and setState functions.