def create_message(self, message_text):
        """Create and position message text object(s).

        Parameters
        ==========

        message_text (string)
            used to generate text surfaces for the
            message.
        """
        ### determine a maximum width in characters for the
        ### text object(s) representing the message.
        max_character_number = 110

        ### wrap the message text into lines of an specific
        ### width in characters
        str_list = wrap(message_text, max_character_number)

        ### generate, position and store text objects

        ## instantiate and store a special list to hold
        ## the objects

        self.message = List2D(
            Object2D.from_surface(
                surface=render_text(text=string, **NORMAL_TEXT_SETTINGS)
            )
            for string in (str_list)
        )

        ### position objects relative to each other

        self.message.rect.snap_rects_ip(
            retrieve_pos_from="bottomleft",
            assign_pos_to="topleft",
        )
Create and position message text object(s).

        Parameters
        ==========

        message_text (string)
            used to generate text surfaces for the
            message.
        
nodezator/dialog.py