I think the reason why your input does not works properly is because you're missing to setup instance properly,
two things actually:

1. Signal needs initial value for example `system/input` takes it as an option:
https://github.com/ZER0/addon-sdk/blob/toolbar-not-customizable/966727/lib/sdk/input/system.js#L39

2. More importantly (and it sucks to have to setup it manually but we can fix that) is you need
    to have an array of children like `system/input` does:
    https://github.com/ZER0/addon-sdk/blob/toolbar-not-customizable/966727/lib/sdk/input/system.js#L41

With that I think everything should be fine.