 
   queue: {}
 
-  queueAdd: (to, options, callback, sendAt, template = null) ->
-    _id = mailQueue.insert {to, options, sendAt, isSent: false, tries: 0, uid: @uid, template}
+  queueAdd: (to, subject, helpers, callback, sendAt, template = null) ->
+    _id = mailQueue.insert {to, subject, helpers, callback, sendAt, isSent: false, tries: 0, uid: @uid, template}
     @queueTry _id
 
   queueTry: (_id = false) ->

    @param  {String} lang    - [OPTIONAL] Language
    @param  {String} template- [OPTIONAL] Full path to template, like 'private/email_templates/name.html' 
  ###
  compileBody: (opts={}, template) =>
    if template
      tmplt = SSR.compileTemplate '___MailerMail___', Assets.getText(template)
    else
      tmplt = SSR.compileTemplate '___MailerMail___', if not @template then @basicHTMLTempate else Assets.getText(@template)

    Template.___MailerMail___.helpers opts

    SSR.render tmplt


  @param  {Object|String} options  - Message, subject, letter, body
  @param  {String} template - [OPTIONAL] Full path to template, like 'private/email_templates/name.html'
  ###
  send: (init) =>

    check init, Object
    check init.to, String
    check init.subject, String

    @queueAdd init.to, init.subject, init.helpers, init.callback, init.sendAt, init.template

  ###
  @namespace Mailer
