Design choice for optional hook subscription - C#