some questions about to HomeKit firmware update feature

I am a newer to implement Homekit accessory. I got the HomeKit ADK 6.3 and saw the application code have "FirmwareUpdate" part. After traced the code and read the document about ADK's firmware update rule, I have some question about ADK's firmware update:

  1. It use the UARP to translate the image file and the image file need to package as the SuperBinary format?
  2. the image file will be fetch by controller and push to accessory? the accessory can't download the image file by itself directly?
  3. where is the image file path in accessory once the controller push the image to accessory?
  4. the firmware update processing should be implemented in the FwUpApplyStagedAssets function?
  5. To implement the firmware update feature of HomeKit ADK is must? or I can implement my own firmware update rule for my accessory? I saw the code of ADK's firmware update is enable by the HAVE_FIRMWARE_UPDATE definition.

Hope someone can help me to clarify above questions. Thank you.