only have user facing stuff in yoga.rb, and everything else in their own places