add unserialize wrappers to listeners