- entityDefinitions:
  - IDI_Task_Product_View:    '{6a167943-0b89-4d10-bff5-528b7d88c868}'
  - IDI_Task_Product_Edit:    '{ad90fb84-423a-4b25-a929-63cd8ce518a5}'
  
  - IDE_Product_View:        '{dd41b6d1-7fff-44eb-8ec6-a81c3e2afb3d}'
  - IDE_Product_Edit:        '{a88719e1-3ecb-4a92-975c-3db0a8f0b99a}'

  - IDE_Product_Definition:  '{8b4b1de1-d2ab-48c1-89bd-94440428210c}'
  - IDI_TaskCategory_Product: '{02d25e4a-a85f-465d-a008-f5900c1b6a85}'

  - IDE_Product_Start: '{c77a2c38-0c46-4394-8f99-b8427fd4e67e}'
  - IDM_Product_Start: '{03984e36-74b6-4dd7-b357-e706e9b33b71}'

  - IDE_Product_View_Start: '{742433c5-806b-47f0-8e71-1d3fdad3f756}'
  - IDM_Product_View_Start: '{a9db70fe-2aff-4f2b-8e37-37bad9e57183}'

  - IDE_Product_Select: '{85e0f010-87cc-457c-92dd-7fa22ec5e560}'

  - IDMB_Product_Edit: '{46f32fd3-0786-4f0b-96df-64d32d38b9e3}'
  - IDM_Product_Edit: '{922edbee-4dd3-4a98-af30-7b36306bd7be}'

  - IDMB_Product_View: '{53e4e5dd-2240-472f-beed-89ed89074caf}'
  - IDM_Product_View: '{b82f0281-f6d8-4da9-9e6b-cf7d1282c272}'

- library: '&IDL_MochaBaseSystem;'
  instances:
  - taskCategory: '&IDI_TaskCategory_Product;'
    name: 'Product'

  - sequenceTask: '&IDI_Task_Product_View;'
    name: 'View Product'
    initiatingElement: '&IDE_Product_View_Start;'
    taskCategory: '&IDI_TaskCategory_Product;'

# Task with CT can be executed independently
# Without CT, default implementation requires it to be a related task
  - sequenceTask: '&IDI_Task_Product_Edit;'
    name: 'Edit Product'
    initiatingElement: '&IDE_Product_Start;'
    taskCategory: '&IDI_TaskCategory_Product;'

  - element: '&IDE_Product_Start;'
    name: 'Product Start'
    processedByCTMethod: '&IDM_Product_Start;'
    elementContents:
    - globalIdentifier: '{423d89dd-b758-4b88-a5cb-a67c5b0dd999}'
      defaultDataType: '&IDE_Product_Select;'
      displayOptions:
      - instance: '&IDI_DisplayOption_Singular;'
      - instance: '&IDI_DisplayOption_ShowSubelementsVertically;'
  
  - element: '&IDE_Product_View_Start;'
    name: 'Product View Start'
    processedByCTMethod: '&IDM_Product_View_Start;'
    elementContents:
    - globalIdentifier: '{c51d3a15-6ab6-470a-bf99-a416c4987e91}'
      defaultDataType: '&IDE_Product_Select;'
      displayOptions:
      - instance: '&IDI_DisplayOption_Singular;'
      - instance: '&IDI_DisplayOption_ShowSubelementsVertically;'
  
  - element: '&IDE_Product_Select;'
    name: 'Product Selection subedit'
    layout:
    - type: '&IDC_GroupLayout;'
      globalIdentifier: '{7b5ce26e-1701-4f82-af6c-188860181420}'
      options:
      - instance: '&IDI_GroupLayoutOption_FieldSet;'
    elementContents:
    - globalIdentifier: '{a2925724-4c70-41e9-9641-15684df6d1e2}'
      defaultDataType: '&IDC_Product;'
      label: 'Product'

  - buildUIResponseMethod: '&IDM_Product_Edit;'
    usesExecutableReturningElement: '&IDE_Product_Edit;'

  - buildResponseMethodBinding: '&IDMB_Product_Edit;'
    executesMethod: '&IDM_Product_Edit;'

  - buildUIResponseMethod: '&IDM_Product_View;'
    usesExecutableReturningElement: '&IDE_Product_View;'

  - buildResponseMethodBinding: '&IDMB_Product_View;'
    executesMethod: '&IDM_Product_View;'
    # parameterAssignments:
    # - globalIdentifier: '{79d3d617-37b7-40c8-9cee-1ec3b838ffec}'
    #   assignsToParameter: '&IDC_Product;'
    #   assignsFromWorkData: '&IDC_Product;'

  - controlTransactionMethod: '&IDM_Product_Start;'
    forClassId: '&IDC_Product;'
    verb: ''
    name: 'Product Start'
    buildsResponseWithBRMB: '&IDMB_Product_Edit;'

  - controlTransactionMethod: '&IDM_Product_View_Start;'
    forClassId: '&IDC_Product;'
    verb: ''
    name: 'Product View Start'
    buildsResponseWithBRMB: '&IDMB_Product_View;'

  - element: '&IDE_Product_View;'
    name: 'View Product'
    elementContents:
    - globalIdentifier: '{d850889c-5b11-4225-a0ba-cc00d5fa251e}'
      defaultDataType: '&IDC_Product;'
      label: 'Product'
      displayOptions:
      - instance: '&IDI_DisplayOption_NotEnterable;'
      - instance: '&IDI_DisplayOption_DoNotShow;'
    - globalIdentifier: '{899118b6-6e72-4d18-86ab-01fe21d5fddf}'
      defaultDataType: '&IDE_Product_Definition;'
      displayOptions:
      - instance: '&IDI_DisplayOption_NotEnterable;'
      - instance: '&IDI_DisplayOption_Singular;'
      - instance: '&IDI_DisplayOption_ShowSubelementsVertically;'
      layout:
      - type: '&IDC_GroupLayout;'
        globalIdentifier: '{c2f3edc8-c25c-493d-b8e0-3443f425fd0c}'
        options:
        - instance: '&IDI_GroupLayoutOption_FieldSet;'

  - element: '&IDE_Product_Edit;'
    name: 'Edit Product'
    elementContents:
    - globalIdentifier: '{765a27e1-cbcf-4506-a682-8b19a9fcd6a1}'
      defaultDataType: '&IDC_Product;'
      label: 'Product'
      displayOptions:
      - instance: '&IDI_DisplayOption_NotEnterable;'
      - instance: '&IDI_DisplayOption_DoNotShow;'
    - globalIdentifier: '{b70db171-0a9f-4456-b07b-2e88c32fd87b}'
      defaultDataType: '&IDE_Product_Definition;'
      displayOptions:
      - instance: '&IDI_DisplayOption_Singular;'
      - instance: '&IDI_DisplayOption_ShowSubelementsVertically;'
      layout:
      - type: '&IDC_GroupLayout;'
        globalIdentifier: '{b7c5b77d-db34-4cf3-ba5c-79e03ffe6680}'
        options:
        - instance: '&IDI_GroupLayoutOption_FieldSet;'

  - element: '&IDE_Product_Definition;'
    name: 'Product subedits'
    elementContents:
    - globalIdentifier: '{9949425b-d7b8-4e3b-9481-9ef6b3caf159}'
      defaultDataType: '&IDR_Product__has__Product_Type;'
      label: 'Product Type'
    - globalIdentifier: '{867b862b-bfba-4b18-948f-afa1a1a0500c}'
      defaultDataType: '&IDA_ProductCode;'
    - globalIdentifier: '{c14ce45e-8398-4c03-bef0-6a74673e4763}'
      defaultDataType: '&IDR_Product__has__Manufacturer;'
      label: 'Manufacturer'
    - globalIdentifier: '{afef86c6-ace8-4451-bbb1-25aa4eb94e9a}'
      defaultDataType: '&IDR_Product__has__Brand;'
      label: 'Brand'
    - globalIdentifier: '{68c21d6e-0d95-491a-b584-5c18cc718a4b}'
      defaultDataType: '&IDR_Product__has__Product_Color;'
      label: 'Color'
    - globalIdentifier: '{b72853da-839a-4a1a-a513-b0a80c436746}'
      defaultDataType: '&IDR_Product__has__Product_Style;'
      label: 'Style'
    - globalIdentifier: '{983e034c-6bda-451a-9f9e-167ce701f38e}'
      defaultDataType: '&IDA_AdditionalDetails;'