First removed the unnecessary require statements. Then update some of the wording to be clearer. Reworked the minor mode to be cleaner and more consise. Split out the idle timer function to its own definition. Also removed the setting of garbage-collection-messages. It may not be desired behavior and does not disable with the minor mode. If the user wants to set it, they can do so.