A timer. Add callbacks to the finish event. Easily start/stop and extend the time.
independently manage a session object with browser cookies and timeouts