#4 PSR-2 'abtract public', not 'public abstract'