Properly handle attribute changes, installation, and removal