General cleanups, some refactoring and rearranging.
Results in less calls to Token::test, Stream::current