It might be more reliable to add/remove buttons upon scene transition. See for example:
https://github.com/esoui/esoui/blob/...rd.lua#L23-L49
The downside is you'd need to add StateChange callbacks for individual crafting scenes and keyboard / gamepad variants, instead of just one event.