Added in state updating support, get and mode methods.