<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def setup(self, helper=None, **run_kwargs):
 """ Creates the container, starts it, and waits for it to completely start. :param helper: The resource helper to use, if one was not provided when this container definition was created. :param **run_kwargs: Keyword arguments passed to :meth:`.run`. :returns: This container definition instance. Useful for creating and setting up a container in a single step:: con = ContainerDefinition('conny', 'nginx').setup(helper=dh) """

        if self.created:
            return

        self.set_helper(helper)
        self.run(**run_kwargs)
        self.wait_for_start()
        return self