Add hooks to calculate session time.

Billing can happen based on time in 20s increments. We need insight into average session duration per service.
I *think* so but my head doesn't wrap itself well around race conditions. Perhaps @hodgestar can chime in.