Which hard coding? `value: 10` was there before. Or is the `getter` the offending code?

About the special casing of `1`, I wanted to avoid (given minor and major steps are both set to 1 and 10):

<table>
    <tr>
        <th>value</th>
        <th>after minor inc</th>
        <th>after major inc</th>
    </tr>
    <tr>
        <td>1</td>
        <td>3</td>
        <td>14</td>
    </tr>
</table>

Which was failing the existing tests. As opposed to:

<table>
    <tr>
        <th>value</th>
        <th>after minor inc</th>
        <th>after major inc</th>
    </tr>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>12</td>
    </tr>
</table>

Which I thought was the expected behavior.

I didn't bother to === check again since I made sure that step is a number through its validator function. But I don't mind changing this.