Rename properties in Surface. Replace asserts in non-contract code with enforce