Maybe for testing or in some edge-cases, but I would not expect it in normal course of operation.      I suspect the reason `key_press` is a method is so that sub-classes could over-ride exactly what it did without having to handle the `mpl_connect` call and bookkeeping (but we don't actually do that internally).