Add per-worker isExpired() method that returns true when a worker hasn't been accessed for more than 5 minutes.
Add a purge thread that periodically removes stale connection workers to prevent user-induced memory leaks.