* Separate delegate implementations between client and server
* Callback into client per lifecycle events
Add missing files
Refactor in a nicer way
* Support lifecycle events to dispatch client callbacks due to state switching.

Approved by Thomas Voß, PS Jenkins bot.