Abstract Token into its own class