move marker array client functionality to its own class