inter component communication by chan, no fn call/ret, or callback, or promise. always chan for call and read result back