Use of method name and adaptation of prototype classes

- Use of method name when getting ordered methods
- In the 'adapt' method, add methods from the prototype to the Trait.
(By default, Trait doesn't take prototype methods when an object is passed to create a new Trait)