First implementation of ContractsMeta. Things don't work yet with staticmethods and classmethods.