Add update action. Refactor attribute requirements.
Specs pass