Engineering Social Learning Mechanisms for Multi-Agent Interaction