Create a new WorkflowObject from given data and return it.

    Returns a data object wrapped around data_object given.

    :param data_object: object containing the data
    :type data_object: object

    :param engine: Instance of Workflow that is currently running.
    :type engine: py:class:`.engine.WorkflowEngine`

    :param data_type: type of the data given as taken from workflow definition.
    :type data_type: str

    :returns: new WorkflowObject

def create_data_object_from_data(data_object, engine, data_type):
    """Create a new WorkflowObject from given data and return it.

    Returns a data object wrapped around data_object given.

    :param data_object: object containing the data
    :type data_object: object

    :param engine: Instance of Workflow that is currently running.
    :type engine: py:class:`.engine.WorkflowEngine`

    :param data_type: type of the data given as taken from workflow definition.
    :type data_type: str

    :returns: new WorkflowObject
    """
    # Data is not already a WorkflowObject, we first
    # create an initial object for each data object.
    return workflow_object_class.create(
        data=data_object,
        id_workflow=engine.uuid,
        status=workflow_object_class.known_statuses.INITIAL,
        data_type=data_type,
    )