will-mount called once, did-update will be called upon state-change and re-render, wrap callback handle with go put chan event