please make either this class or `resetFromString` final otherwise this might have odd side-effects if somebody subclasses this.