The Blocbuilder is called with the current state on every render, the Bloclistener is only called when the state changes