Can't we just call setAndFireProperty() instead of doing all this?