Why not make the Image() constructor take the source as an argument?