Actually the split was already there, I simply moved an existing method to the Bucket class so that I could then add the new behaviour. I also feel that this is not named correctly, as the behaviour of this method is not what I call "parse".

Talking of generating an ID from a set of properties, that lives in here, because it's bucket a rule, and therefore the Bucket class seems a better place than Record.

Do you think the refactorings involved in here should block the pull request? I'd rather merge this one and then spend some time pairing on the refactoring when you are back.