Refactoring

  * renamed methods
  * TellDontAsk when producer publish messages
  * use *call_user_func()*