made it so that the bot can calculate the next move asynchronously via delegate methods