You're missing callable check on the callback. If what is passed here is not callable - the error will be raised only when `_alert` will be called and `len(self) == 0`