deleted camelcase rule.
use Chainable.
use pubsub decorators.