В tokens ты кладёшь объект. а вовсе не копию объекта на момент покладания в tokens. Фактически, ссылку на объект. Так что логично, что при изменении объекта в одном месте изо всех остальных мест он выглядит изменившимся.
В tokens надо класть не объект, а его копию. Например,
так.