The key thing to remember is that you are going to trade flexibility for simplicity and cohesion by making the two classes more tightly coupled. You may want the classes to be tightly bound, but you are giving up the ability to transparently swap other classes into the place of what is currently your embedded class by not defining your class from an interface outside of the containing class.