protected function renderElementInner(Descriptor $descriptor) {
		$tagsLocator = $this->getTagsLocator();
		
		// Element's main
		$elementTag = new Tag();
		$elementTag->addClass('topology-element');
		
		$type = $descriptor->getType();
		
		if (isset(static::$types[$type])) {
			$elementTag->addClass(static::$types[$type]);
		}
		
		// Header
		$elementTag->appendHtml($this->renderHeaderContent($descriptor));
		
		// Body
		if ($descriptor->hasPropertities()) {
			$content = $this->renderBodyContent($descriptor);
			$elementTag->appendHtml($tagsLocator->body->render($content));
		} else {
			$elementTag->appendHtml($tagsLocator->body->render());
		}
		
		// Footer
		$elementTag->appendHtml($tagsLocator->footer->render());
		
		return $elementTag->render();
	}