So looking at this just in terms of a quick diagram, you have the implementation, which of course you're incredibly familiar with, then you have the interface, which is how that implementation manifests itself. 