public function setStep(float $step) : Number
    {
        $this->attributes['step'] = $step;
        $offset = isset($this->attributes['min']) ?
            $this->attributes['min'] :
            0;
        return $this->addTest('step', function ($value) use ($step, $offset) {
            if (!is_numeric($value)) {
                return false;
            }
            return !fmod($value - $offset, $step);
        });
    }