As of now, AssetService:CreateSurfaceAppearance only takes a Dictionary of EditableImages, which can be terrible when you need to create Multiple SurfaceAppearances using scripts due to the Editable Memory limit, and not to mention having to send the Editable Image data to the Client and remaking it in there just so players can see it.
Recently, AssetService:CreateDataModelContent was Introduced to sort of fix that problem, BUT it’s returned Content cannot be used to create a SurfaceAppearance which is annoying!, so what i suggest is to let devs use the Content returned by said function to create a SurfaceAppearance.