Conversation transcript. Assigning copies the list.
List<Message> get messages => List.unmodifiable(_messages);
set messages(List<Message> value) => _messages = List.of(value);