Redid concurrent stuff. Now using timer objects and a tick function so
cancelling is possible. Also improved learning algorithm (in theory). It
now keeps a confidence measure, which it uses to determine how much to
change the target by.