Update sample to use new ProtocolHandler-based approach