Explicitly use a specific protocol for a delegate.

I think it's safe to assume that you always know the protocol of your
delegate. This means we don't need to *search* for method signatures,
we know exactly where to look for them.

Change-Id: I48e44509034274e6223ca5c0ec41fe5cb7a722ff