Adding middleware to track request times, a signal it can send, and a receiver