Use traits instead