What I wonder about this class is if we could refactor it to work like `TimeUnit` where instead of doing
```Java
double kilometers = DistanceUnit.METERS.toKilometers(15);
```

we would do this:

```Java
double kilometers = DistanceUnit.KILOMETERS.convert(15, DistanceUnit.METERS);
```

that way we could get rid of a lot of methods in here and be very explicit when `DEFAULT` is used?