Rewrote most of restacular.go to use contexts