Restructure TextureSource inheritance