Ok, I understand what's going on now. I don't think `TestPeerComponent` and `TestBrokerComponent` should be called `Components` since it seems they are taking part in the cake pattern (which they aren't).

To me, this should look something like:

```scala
trait TestPeerFactory {
  lazy val broker: TestBroker = ...
  def buildPeer()....
}
```

Also, you don't seem to be using the `MockPayComponent` (which I don't think should exist either, like `TestBrokerComponent`).

Thoughts?
```