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)

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