refactor attempt

I tried to move away from having one monolithic function.
I put each "thing" that the bot might do is in it's own class
definition. I hope that this will make it easier to modify and maintain
the bot going forward.
NOTE: I HAVE NOT TRIED TO RUN THIS!