I'll work on implementing your suggestion.

Technically, this only introduces an optional dependency on enaml since the gadget isn't imported by any other modules.