public function addPoint(array $point) {
        // Add timestamp if non provided
        if (!isset($point[1])) {
            $point = array(time(), $point[0]);
        }

        if (!is_integer($point[0])) {
            throw new InvalidPointException('Timestamp must be an integer');
        }

        if (!is_int($point[1]) && !is_float($point[1])) {
            throw new InvalidPointException('Value must be integer or float');
        }

        $this->points[] = $point;

        return $this;
    }