def send(type, *args)
      time = nil
      id = nil
      data = nil

      until args.empty?
        arg = args.shift

        case arg
          when DateTime, Time
            time ||= arg
          when Hash
            data ||= arg
          else
            id ||= arg
          end
      end

      # Send off our parsed arguments to be further massaged and socketized.
      actual_send type, time, id, data
    end
def send(type, *args)
      time = nil
      id = nil
      data = nil

      until args.empty?
        arg = args.shift

        case arg
          when DateTime, Time
            time ||= arg
          when Hash
            data ||= arg
          else
            id ||= arg
          end
      end

      # Send off our parsed arguments to be further massaged and socketized.
      actual_send type, time, id, data
    end
Set 'er up with a host and port, defaults to `localhost:1180`.

 @param [String] The hostname to send metrics to.
 @param [Integer] The UDP port to send metrics to.
 The primary endpoint for sending metrics to Cube.

 @param [String] The desired name of the new Cube event.
 @param [Array] A splat that takes an optional DateTime, an event id
   (typically an integer, but can be any object), and a Hash of data.