Not exactly...the path finding handles some special cases for this game (like making crates to blockers on demand) but after all, it's a simple A*. The bots' logic itself is placed in a bot class that uses a target finder class that uses the A*-implementation (but doesn't have to). I did the state machine stuff in my former game to a degree and i had different types of bots (mover, defender, attacker,...). It worked fine but i don't need it for this game. I agree that the bot class looks a bit cluttered ATM, but it's not that bad.
And no, it's not fun...