Refactor common attributes of AssetFile and AssetDir into an interface