To leave the XML & JSON worlds I wonder how to apply a 'contract first' approach. What's the best way to describe an interface?