Implements PSR-2