How to handle multiple delegates for a single object