In most scenarios, a superstep would need certain values or objects that were computed in the previous superstep. When using the chaining Superstep design to implement BSP algorithms, this gets a little ugly/difficult to implement. BSPPeer should provide means (preferably a map<String,Object>) so that the next Superstep can ask for the values in previous superstep using String token to query the map. Also, this map could be checkpointed periodically in the background so that we can completely recover the state of a task after failure. The BSPPeer object should have a dedicated get and set function for updating values in the peer.