I'm going to go against character a bit and say that this seems like a mild YAGNI violation. I often amuse myself with extra-complete implementations like this, but I'd have a hard time justifying it in a commercial project until it appeared to be needed.

OTOH, the *moment* I saw two separate lines of code parsing time in order to satisfy this setter method, I'd write the tests and code that would enable me to move the duplicated parse into the `TodoForm` class.