I'm dividing it into 'Routines'. Each routine runs entirely on its own with its own update frequency, so heavier routines won't update as often as lighter ones. You can choose which routines get run and which don't, kind of like how attributes were before. Also, it makes it easy for other scripters to make add-ons to the AI.
I also separated pathfinding out so that it can be used by any character in the game, which also cuts down on lag, because instead of each character running the pathfinding routine 4 times every frame, I can just let it run the routine something like 15 times a frame maximum for the entire map, so the game won't lag if you have 10 enemies chasing you.
EDIT:
just realized that the pathfinder already did that. I put it in it's own class anyways.
Also, I'm on IRC a lot, so if you want to discuss Blizz-ABS, talk about bugs, features, how progress is going on the next version, or just hear me complain about code not working, just hop on.
EDIT2: Sprite naming conventions are now a thing of the past! Just choose the sprites you want to use for attacking, defending, skills, items, running, jumping, etc., or just use none at all! Hopefully that should help keep your graphics folders a little more manageable. With this feature completed, the script rewrite is halfway complete! Of course, expect the config app and manual to take a good deal of time at the end, as a lot of changes are being made to the script.