Suggestions for configuring an IR-remote edge device?

As a hobby project I’ve been playing around with writing an edge driver for a Broadlink IR-remote (RM mini-3). I can get a device discovered and to send a hardcoded remote code.

I’m now looking whether it can be made decently usable - for these Broadlink devices there’s no config onboard, they just emit what’s sent. They can learn a code from a physical remote control, but that must then be read back to be sent when needed.

So I’d need a way to configure one or more “buttons” with different names and remote codes.

Does anyone have suggestions, or example of other edge drivers that do similar things? At the moment the best I can think of is a parent device for the IR-remote, which can add one or more child devices for button(s); each button would have a config property for it’s remote code and maybe name.

It’d be nice to support the “learn a code” function to save entering blobs of hex. Is it possible to set a device preference from code?

You may create specific profiles like TV, Fan, Window Shade, Light Switch, … so it could become a little more user friendly.
For example, it wouldn’t be very usable to have like 20 child devices to represent a single remote control for TV.