PHP 5.4+ observer pattern using traits