use composition to encapsulate deployment and displayable