а зачем оно наследуется от мапа? в мапе же куча ненужных методов. не лучше ли мап спрятать в поле, и сделать variables оператор []? (просто предложение, может и не нужно)