public static function setReportLevel(string $level): Matcha {
            if( ReportLevel::has($level) === false ) {
                throw new InvalidArgumentException(sprintf('The report level should be one of the following: %s, %s given', 
                    implode(', ', ReportLevel::availables()),
                    $level
                )); 
            }

            static::$reportLevel = $level;
            
            return new static;
        }