Window|Refactor: Revised changeAttributes()

Replaced the naive and unnecessary internal state backup mechanism
with a validation logic that short-circuits the process before any
change is made.