Don't mutate the tokens instance var inside a class method.
class << self is alright until you're in a long file.b
On second thoughts, this spec is better the way it was.
Use new method name, it's implied by the class.
I thought this had been removed, removing it now!
I'm forever needing to check this, so unwrapping it to make that easier and clearer.
Stopped the class methods working on @tokens directly; using throw/catch to break early and reduce the number of ifs I need to look at; Removed duplication of private;
Merged from-class-to-instance.