The harvester is the responsible object for building the harvester state, not the driver.  Also the harvester is the object that should be invoking a state change, not the driver.