https://martinjoo.dev/how-to-use-data-transfer-objects-and-actions-in-laravel