設計の指針で迷いがあるので、教えてください。

下記の要件を含むTODO管理ツールを作っているとします。

  1. ユーザは、作成したタスク(Taskと命名)に色(TaskColorと命名)を付けることができる。
  2. TaskColorは、TaskColorマスタに登録されたものから選んで、Taskに設定する。
  3. TaskColorマスタは、ユーザが自分で内容を変更できる。

TaskColorは、下記の情報を持ちます。

  • 色コード:RGBとか
  • 意味:ユーザが任意で設定できる文字列、メモのようなもの

私の認識では、エンティティか値オブジェクトかの判断を下すには、もう少し要件が必要です。

(1)TaskColorマスタの「意味」や「色コード」を変えると、全ての作成済みTaskに付けられたTaskColorにも変更が反映される場合
各Taskに設定されたTaskColorの同一性を追跡できる必要があるため、エンティティではないかと考えています。
また、TaskColorには識別子(TaskColorId)を付け、TaskにはTaskColorIdだけを持たせることになりそうです。

(2)TaskColorマスタを変更しても、作成済みTaskに反映しなくて良い場合
単純にこれだけなら、Taskの永続化の際に、TaskColorの属性値も一緒に埋め込んでしまえるので、TaskColorは値オブジェクトで良さそうに思えます。
しかし、Taskに埋め込まれるまでは、TaskColorマスタ上でそれぞれのTaskColorの同一性が確保されているような気がして、少しもやもやしています。
とはいえ、ここで私が感じている同一性は、TaskColorの用途において同一性の確保が必要とされたものではなく、結果的に同一性があるっぽく見えているだけの幻、とも思えます。

他にもケースはあるとは思いますが、まず上記(1)と(2)について、それぞれどのように考えるのが、ドメインモデルとして正解なのでしょうか?