The state will always have every property needed, or be undefined. I think if state is defined it should just call `setState()`. If it's not defined it can call some `setDefaultState()` function or something like that. It seems cleaner than the if/else and setting undefined values to `this._value` and `this._options`