I'm thoroughly enjoying using Ash at the moment, it has a wonderfully elegant structure. However as with any new model of coding, I can't help worry if I'm using it well. I've now grown old enough to give up trying to use something "perfectly" :)
Currently I create many systems to process very specific behaviours and states, rather than clustering broader amounts of functionality within one system. Often (and probably in the majority of my systems) the main update method has 6-12 lines of useful work to do.
For example, I may have an NPC who has a queue of tasks to get through before they do something else. This could be implemented with 3 systems - one to manage the queue, one to do whatever the task is, and one change the NPC state when all the tasks are done. Alternatively it could be encapsulated in one system.
To me, it feels neater to have a clear division of responsibilities. However, having such neatness comes at a cost - although it allows flexibility, a clear view of the overall purpose can be lost amongst a multitude of systems and nodes.
So, on to my question: how do y'all break up your functionality between systems? Few systems each with a lot of code? Many systems with tiny bits of code? Have you tried both and can list pros and cons to put might mind at ease? :)