If we rely on this then `self.state` should always be a real state instance
-- otherwise it'll be easy to introduce cases where we need to sync up but
aren't doing so?