Embrace contracts.
Update
Update