Refactor names. Use by containment instead of inheritence.