Resolve casting issues:
- We cannot cast to NotificationType in Client because client is not typed. So the casting must be moved lower to the class hierarchy unfortunately.
- Also added missing getClient() while I was touching the affected functions anyway.