def components(self):
        """
        Returns full :class:`dict` of :class:`Component` instances, after
        a successful :meth:`build`

        :return: dict of named :class:`Component` instances
        :rtype: :class:`dict`

        For more information read about the :ref:`parts_assembly-build-cycle` .
        """
        if self._components is None:
            self.build(recursive=False)
        return self._components