Added methods to add contracts and communications in a functional style