create ContractDelegate protocol. ContractView communicates to a handler via the ContractDelegate protocol