more toString() and stable order listeners