Using a recurring System.Threading.Timer in an Mvc Application
Looks mostly ok, just some issues around coupling:

Consider one of the following


Pass MessageBroker.Publisher via the ApplicationClock constructor as an external dependency (preferably an interface). This will make the current implicit dependency explicit and visible which should yield in better maintenance in the future and easier unit testing. 
Pass the tick handler in as an Action parameter - no dependency on a specific object at all.
Expose a ClockTick event and raise the event handler on tick. This way anyone interested in the clock can subscribe and the clock doesn't need to know about them at all.


Also your tick interval is hard coded, it should be passed in as parameter.