Changing execution order of code with Icicle's timer

Code
<?php

use function Icicle\Loop\run;
use function 
Icicle\Loop\timer;

// timer waiting time in seconds
timer(0.1, function () {
    
$i 0;
    echo 
'First.' $i PHP_EOL;
    
timer(0.5, function () use ($i) {
        echo 
'Second.' . ++$i PHP_EOL;
    });
    echo 
'Third.' . ++$i PHP_EOL;
    
timer(0.2, function () use ($i) {
        echo 
'Fourth.' . ++$i PHP_EOL;
    });
    echo 
'Fifth.' . ++$i PHP_EOL;
});

echo 
'Starting event loop.' PHP_EOL;
run();
Result
Starting event loop.
First.0
Third.1
Fifth.2
Fourth.2
Second.1
Used Versions
PHP 7.1, Zend 3.0, Symfony 3.2, Laravel 5.2, PHPUnit 5.6, Doctrine 2.6