Switching to Code Contracts

I wonder how this'll work (out).
Moved the interfaces to a new namespace

(which is a directory, conceptually)