Added tests, slight modifications to channels to ensure no deadlocks happen, go fmt. All tests pass.