Cosco.vim (GitHub: lfilho / cosco.vim, License: MIT) by Luiz Gonzaga dos Santos Filho automatically inserts semicolons in Vim. It appends, substitutes, or removes commas or a semicolons based on context.
cosco#commaOrSemiColon, so it can be set up to trigger when
; is pressed.
Interestingly, this plugin includes unit tests written with vim-unittest.
The time interval can be changed with
let g:tomato#interval, and the rest time can be set with
let g:tomato#rest_time = 20 * 60. It also allows the notification text to be changed for reminders and rests.