This is to be done once all the GW code is merged in main. Blocked until the merge is done. This allows for easier testing. Most comments are recorded in #224. We also need to deal with aligning with[ the coding standards](https://cable.readthedocs.io/en/latest/developer_guide/other_resources/coding_standards/) (for the added code).