@tldr
This is great! 2 questions I didnt find when skimming through:
1. What/when will be the interface for existing users to define this?
2. If users do not define, will there be a predictable method for defining a "default" one? (So apps can use something, and tell the user what it is)