Diving into designing multi-agent systems and got lost with all the different implementation options