Feature/remove instance vars

WIP, as I want this to be comprehensive, but there's nothing inherently wrong with merging this in.

Breaks tests because `assigns` looks for instance variables--I think we should remove those parts of the spec, but try to find a substitute.