#Code Refactoring: separated composition from core