Refactor runner to separate section handlers