Dier_Sergio_Great: в общем и целом, трейт позволяет как раз модифицировать, "декорировать" исходный класс, но не на лету, а один раз при подключении. Если нужно динамически аттачить функцию к классу в нескольких местах, то вариант из ответа (^) реализованный в подключаемом трейте может это сделать.