Extract helper functions to Chromate library
Rely on chromate's bidirectional channels for communication