code: function Start (params, silent = false) {
    log.info('Starting vermon with parameters...')
    // Sets the parameters first if they exist
    if (params) {
      if (params.environment) {
        em.SetEnvironment(params.environment)
      } else {
        _InternalAddEnvironment()
      }
      if (params.initialMotionDetector) {
        AddDetector(params.initialMotionDetector)
      }
      if (params.initialNotifier) {
        AddNotifier(params.initialNotifier)
      }
    }
  
    // Will set a default Environment if does not exist;
    if (!em.GetEnvironment()) {
      _InternalAddEnvironment()
      // em.GetEnvironment() = new ent.Environment();
    }
  
    if (!silent) {
      log.info('Notifying detector is starting...')
      // Pushes message to all notifiers
      for (n in em.GetNotifiers()) {
        em.GetNotifiers()[n].notify('Started')
      }
    }
    log.info('ready.')
  }
docs: Starts the current environment given a set of parameters (Old way of starting - it is preferrable)
  to use {StartWithConfig} instead.
  @param {object} params is a parameters object, any object which contains the following attributes: \n
  (1) an "environment" attribute with the {Environment} object to set; \n
  (2) an "initialMotionDetector" attribute with one {MotionDetector} object to set (does not allow several motion detectors); \n
  (3) an "initialNotifier" attribute with the {Notifier} object to set (does not allow several notifiers); \n
  @param {string} silent if set to true will not send an initial notification to notifiers when starting up (by default is set to false).
  @public