I would say we should measure lastAnnouncement from last command rather than periodically.  The right place as I see now could be method 'getNewCommandPlayerToPlay'