Restructuring a bit so everything runs through rivulet.go.