Because the account and group both have a custom data and do the same, there should be a class or module with the common implementation so we don't have the same implementation in more than one place.