public function generateInput($type, array $data)
	{
		$class = $this->getElementInstance($type);

		if (array_key_exists('attributes', $data))
		{
			$class->setAttributes($data['attributes']);
		}

		if (array_key_exists('content', $data))
		{
			$class->setContents(
				  $this->generate($data['content'])
			);
		}

		if (array_key_exists('name', $data))
		{
			$class->setName($data['name']);
		}

		if (array_key_exists('value', $data))
		{
			$class->setValue($data['value']);
		}

		if (array_key_exists('label', $data))
		{
			$class->setLabel($data['label']);
		}

		return $class;
	}