CSP-style tasks and channels for JS using a sweetjs macro.