Open
Description
We currently have no method of specifying dependencies for modules, this can result in them failing to initialise due to an incorrect ordering. Therefore we need to introduce a dependency mechanism to determine if a required module is going to be installed at a later time or whether an error needs to be thrown.
Another issue is there are currently multiple ways of supplying configuration for a module which can conflict. For example a flashing module can be partially configured via the Platform
and via user entered module configuration and the priority of which configuration is not clear.