Newer XdmProtocol class which can be shared between widget js and widget app