~ Separate trait methods and properties and allow parameterized traits