Move education check to separate class, add timeout, add tests