changed channel to be an actual class rather than a simple list, this will make further dev much easier
Started using channels themselves rather than passing around raw, value arrays
kind-of in-progress check-in, graphs starting to really come together, but need some polishing