Да, именно так. JSON выглядит самым простым способом, но можно сделать сериализованную строку короче. Заморачиваться с кодированием, ескейпингом, сжатием и т.п., конечно, не нужно.
в целом принято использовать трейты, абстрактные классы берут когда нужно либо параметры передавать, либо когда знают, что этот класс будет использоваться из джавы