`action` should probably move to the end then to keep the make the create/initialize/set and modify APIs (and the get API) as close as possible.