Refactoring
 + Make the decoder aware of the event type so message like open and close can be discarted. Decoder API is not backward compatible
 + Improve generics for derived Client and Request implementation