change the event->getBlock() to event->getBlocks()

    $content = '';
    foreach(event->getBlocks() as $block) {
        $content .= $this->render($block);
    }

    return $content;

what do you think of this ?

I guess we don't need separator in html we can use css

and if you need to add custom code between some blocks then you can dispatch more event as this will be separate part of the template