abstracted out bot/handler logic

now much easier to write starter AIs and hooks available for more
advanced AIs