I don't think the topic directive should call loadForTopic. The topic directive should not need the gaLayers service at all. We already discussed on the mailing list what the "change topic" process will work. I think the design we discussed was good.