Protocols and Delegates
Implementation of Protocols and Delegation mechanism.