Added dynamic input and output channels, with callback events