@classmethod
def construct(cls, system, data):
    """
        Template method to enable customizing the object instantiation process.

        This enables system components to be cached rather than re-fetched every time
        """
    return cls(system, data)
