def beautify(self, string):
		"""
		Wraps together all actions needed to beautify a string, i.e.
		parse the string and then stringify the phrases (replace tags
		with formatting codes).

		Arguments:
			string (str): The string to beautify/parse.

		Returns:
			The parsed, stringified and ultimately beautified string.

		Raises:
			errors.ArgumentError if phrases were found, but not a single style
			(flag combination) was supplied.
		"""

		if not string:
			return string

		# string may differ because of escaped characters
		string, phrases = self.parse(string)

		if not phrases:
			return string

		if not self.positional and not self.always:
			raise errors.ArgumentError("Found phrases, but no styles "
									   "were supplied!")

		return self.stringify(string, phrases)