This might be a silly question, but I'm not quite seeing it in the code.
It appears that topics are being cached using ICacheManager. However, if a topic is updated using the admin portal, I do not think that the cache is thus being updated.
To be sure, I set a conditional breakpoint on Set in MemoryCacheManager and it did not trigger.
Is the cache being updated when a topic is updated or inserted? Am I missing something?