public function isValid()
    {
        $validators = [
            'isDateValuesIntegers',
            'isValidDayRange',
            'isValidMonthRange',
            'isValidPagumeDayRange',
            'isValidLeapDay',
        ];

        return array_reduce($validators, function ($result, $validator) {
            return $result && $this->{$validator}();
        }, true);
    }