@jerger
Although @steve in the exchange with @mariusor refers to a "generic client" and I wonder what that means exactly.
Specific client / generic server: The client is the "app". Server only 'serves', does not violate client's expectation. It handles the CRUD, 'caching' and addressing, has no side effects that are relevant to the client. Client is in charge, and Activity is an event (it happened, deal with it).
Generic client / specific server: The server is the "app", client not in charge. Client acts like 'front-end' for server functionality. The Activity constitutes a command to be processed. As client I'd expect it to be immutable, and that's probably best-practice too.
Specific client / specific server: Side effects on server constitutes a different "app" than on the client. Client sends an event, server processes, may trigger further server events that may address the client. I'd still expect the event to be immutable, Create/Note stays the same.