closes #4. Maintain list of registered clients and update it based on associated events. Cleanup remaining.