Is it intended that the mainloop API vtable be mutable, allowing users to hijack it with their own (proxy) methods, or should it and the 'get_api' functions really be constified? I held off on constifying this thus far (in both patching PA itself and in my Rust bindings) because I really wasn't sure what the intention was... With my latest work tidying things up in v2.x of the binding (just released), and with needing to now look to whether `Futures` is something to implement (with which I need to understand how future execution would couple with the mainloop), I really need to know this now...