Devolve is a callback registry. Callable objects can be registered against a set of keys. The registry can then be used to delegate a single call across all of the registered callables and to gather all of the returned key/value pairs into a single mapping.
- Prevents duplicate registration of the same key.
- Validation that a callable did not return any extra keys.
- Validation that a callable returned all of the keys it was registered for.