The only problem with putting it as `self.on_key_press` of `Canvas` is that in all the examples, instead of needing to add only `close_keys=['ESCAPE']`, we'd have to do that and add a call to `app.Canvas.on_key_press(self, key)`  (since many examples override this property). It might make the most sense to define it in-place here, but expose the property like you mention, which gets the best of both worlds.