Why confusion_matrix() and plot_confusion_matrix() validate separatly?

As can be seen from the code, the two methods do the validation of data separately while I think they can be mixed together as one function or save the result in a local property rather than calling the former method again for the sake of plotting it. Any reason not implemented before?