Nitpicking maybe, I'm ok with renaming done here, but then should not this method also be renamed to ```getVariant()``` and value object to ```Variant```?

```Variation``` value object feels a bit weird to me :)