def delete(keys, default = nil)
    existing = modify(@properties, symbol_array(array(keys).flatten), nil, true)
    return existing[:value] unless existing[:value].nil?
    return default
  end
def delete(keys, default = nil)
    existing = modify(@properties, symbol_array(array(keys).flatten), nil, true)
    return existing[:value] unless existing[:value].nil?
    return default
  end
Delete key path from the configuration object.

 * *Parameters*
   - [Array<String, Symbol>, String, Symbol] *keys*  Key path to remove
   - [ANY] *default*  Default value to return if no existing value found

 * *Returns*
   - [ANY]  Returns default or last value removed from configuration object

 * *Errors*

 See:
 - #modify

 See also:
 - #array