Building interface contracts.  Still not done.