finish Publisher.lua and multi-inherit