this a no meaning, why are you using the CRITICAL to determine the UNKNOWN state?

use something like:

```
nb_check = len(self._checks_list)
self.WARNING_THRESHOLD = 0
self.CRITICAL_THRESHOLD = nb_check
self.UNKNOWN_THRESHOLD = 2 * nb_check

...

def is_critical(self):
    return self.value > self.CRITICAL_THRESHOLD

def is_warning(self):
    return self.value > self.WARNING_THRESHOLD

def is_unknown(self):
    return self.value > self.UNKNOWN_THRESHOLD
```