Refactored: Move start/end revision into value object.