Added readonly attr check; reduced payload for update; refactored destroy() method