Add a simple cache.

Transport *Transport is what I prefer to have. In Go, no delegation is explicitly named as a delegate.