Consider this situation: There is a background service, which is needed to generate data by user input and notify web users in timely manner. In the meantime, there is a SignalR hub to do two-way communication with web users. The hub will need a reference to the background service for providing user input, while the background service will need the hub to send notifications to users. How do I break the circular references?