Don't block split channels

When splitting channels, putting a value on one channel currently blocks the other channel until the value is taken off it.  Moving it into its own go callback prevents one channel from blocking the other.