PSR2 compatible