Refactored DeepImage so it uses mImpl