To implement the Desktop DX Indicators Review blueprint [1] and to implement the system indicators ordering requested by design team [2], I've redesigned the way the indicators work in unity.
This need to change both unity-panel-service, UnityCore and unity-2d-panel, and basically it works by making the panel-service to compute a "priority" for each indicator entry and then making the panel to show the indicator entries in the correct order.
This needs the UnityCore code available in the lp:~3v1n0/unity/indicators-redesign branch.
More informations are available in the unity merge request: https://code.launchpad.net/~3v1n0/unity/indicators-redesign/+merge/70818