<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def start(self):
 """ Starts this context, a.k.a the phase where you setup everything which will be necessary during the whole lifetime of a transformation. The "ContextCurrifier" is in charge of setting up a decorating stack, that includes both services and context processors, and will call the actual node callable with additional parameters. """

        super().start()

        try:
            initial = self._get_initial_context()
            self._stack = ContextCurrifier(self.wrapped, *initial.args, **initial.kwargs)
            if isconfigurabletype(self.wrapped):
                try:
                    self.wrapped = self.wrapped(_final=True)
                except Exception as exc:
                    # Not normal to have a partially configured object here, so let's warn the user instead of having get into
                    # the hard trouble of understanding that by himself.
                    raise TypeError(
                        "Configurables should be instanciated before execution starts.\nGot {!r}.\n".format(
                            self.wrapped
                        )
                    ) from exc
                else:
                    raise TypeError(
                        "Configurables should be instanciated before execution starts.\nGot {!r}.\n".format(
                            self.wrapped
                        )
                    )
            self._stack.setup(self)
        except Exception:
            # Set the logging level to the lowest possible, to avoid double log.
            self.fatal(sys.exc_info(), level=0)

            # We raise again, so the error is not ignored out of execution loops.
            raise