In the header file, the Ethernet and sound tests are said to be not required (i.e. should not prevent system use). So this comment appears to be inconsistent with the header file.
Why some commands return boolean and some none? And this function always returns TRUE so what is the point? Also, when a function returns something, I thought we decided to show that in the declaration ( e.g. foo() -> int: )
Need "Reset" versions of these override functions too. Also need to add override command message IDs for publish interval and flow override commands + handling of these messages so that these override functions will be called.