Capturing socio-technical systems with agent-based modelling