リスト付きのカスタムフィールド

カスタムフィールド(文字列のリスト)をプラグインから作成し、操作する方法は?

以下のようなコードになるかと考えていたのですが、正しい方法が見つかりません。

   # 文字列の配列
   Topic.register_custom_field_type('my_list', [:string])
    add_to_serializer(:topic, :my_list, false) {object.topic.my_list}

    DiscourseEvent.on(:topic_created) do |topic|
        topic.custom_fields["my_list"] = ["item1", "item2"] 
        topic.custom_fields["my_list"] = topic.custom_fields["my_list"].push("item3")
    end