Making 'Token' immutable and implementing 'ITextContext'