With cake pattern you should not instantiate other components, but extends them.
In your case you if you need functionality of AlsoNeedsFoo
you should write something like this:
this: FooComponent with AlsoNeedsFoo with ... =>
And put all together on top level:
val app = MyImpl extends FooComponent with AlsoNeedsFoo with RequiresFoo with ...