https://fredgrott.medium.com/easiest-way-to-create-flutter-value-type-object-data-classes-a913b7d2c3a1