Use self:: instead of static:: - and I should consider stopping writhing code at midnight after a long workday ;) (+1 squashed commit)
Squashed commits:
[ea1e670] hasPreconditionFailed() and setPreconditionFailed()