public function get_by_name( $name )
    {
        $filtered = $this->filter(function($c) use ($name) {
            return $c instanceof ValueComponentInterface && $c->name === $name;
        });
        if(count($filtered) < 1)
        {
            throw new \RuntimeException("No component with the name <b>$name</b> could be found.");
        }
        return $filtered[0];
    }