Fixing next() not returning next value.
Adding method to retrieve key of value.
Refactored to use Tokens validation and ditch reference juggling in favor of simple objects.