feat(views): Separate WebChannel

We should probably at least make sure it fires the callback for send.