Да, композиция позволяет что угодно.
Если какая-то система выступает в двух ролях, то значит, в ней есть подсистемы, ответственные за эти роли. Делим на части.

Вообще, наличие у класса больше 6-7 методов (не считая банальных Get-Set) позволительно только для классов очень широкого применения. А уж больше 10 (как правило) - признак нездорового проектирования. Когда недоделана декомпозиция.