Refactor/rename and refactor/inheritance-to-composition