If you change `end` or `start` over time, the duration won't be valid anymore.

I think what you want is a dynamic `@property`