       return realTitle
 
 
-exports.session_user_id = (defArr = ["session", "user", "id"]) ->
+exports.session_user_id = ({init, defArr} = {}) ->
+  defArr ?= ["session", "user", "id"]
+  init   ?= null
   return req_item_by_keys(defArr)
 
-exports.session_user_email = (defArr = ["session", "user", "email"]) ->
-  return req_item_by_keys(defArr)
+
+exports.session_user_email = ({init, defArr} = {}) ->
+  defArr ?= ["session", "user", "email"]
+  init   ?= null
+  return req_item_by_keys(defArr) or init
+
 
 exports.line_number = (opts = {}) ->
   return (mod) ->

exports.single_line_message = (opts = {}) ->
  showHidden = opts.showHidden
  depth      = opts.depth
  separator  = opts.separator or ""
  return (mod) ->
    return (level, args) ->
      ret = []


      ret = ret.join(separator)
      # remove all '\n' but not '\\n' as that is an escaped '\n' and not something introduced by util.inspect
      ret = ret.replace(removeReturnsRegex, '') or init
      return ret


exports.message = (opts = {}) ->
  showHidden = opts.showHidden
  depth      = opts.depth
  separator  = opts.separator ? ""
  init       = opts.init ? null
  return (mod) ->
    return (level, args) ->
      ret = []
