Add notification support

* Update client and server to use protocol class
* Add notification support on client/server