Introduce ISignature interface