Returns HTML as a BeautifulSoup element.

def soup(self):
        '''
            Returns HTML as a BeautifulSoup element.
        '''
        components_soup = Tag(name=self.tagname, builder=BUILDER)
        components_soup.attrs = self.attributes
        for c in flatten(self.components):
            if hasattr(c, 'soup'):
                components_soup.append(c.soup())
            elif type(c) in (str, ):
                # components_soup.append(BeautifulSoup(str(c)))
                components_soup.append(str(c))
            # else:
                # Component should not be integrated
                # pass
        return components_soup