message should be protected from emit (plugins)