Refactoring: make 'isValid' a computed property.

The property 'isValid' was being manually updated using observers, this is not necessary, it's much simpler to just use a computed property.

I didn't change any behavior, I just made 'isValid' a computed property.