You can already do this with UIs. You listen to a raw input, check whenever that input is tied to any function then run any found function. It is pretty much a single function and a table. Want to edit keybinds? simply modify the entries in that table.
ModuleScripts. You can just… yknow… store that table from the example provided earlier in a ModuleScript.