Modeling Collective Dynamics Of Social Systems: Incorporating Various Social Mechanisms Into Agent-Based Models