Object composition via traits is fun :)
Implemented TAdaptable adapt()