move map access interface to separate class

it looks easier when serialized data and interface to access/edit it is
placed in two different classes