Would not be better to have all these labels coming directly from map?  I don't know if what I'm saying is actually possible, but I think it would be easier to keep them under control.