A take on re-implementing channels (WIP- don't merge)

This is WIP and not yet finished.

We would want to defer calculations away from the registry. Since update changes are now driven from the input channel, we should remove this helper method and move this logic to the channel level.