Exploiting Social Commitments in Programming Agent Interaction