Sure this works. Take a look at our approach in PirateBox. Long story short create a svg icon, define areas with ids, create a dedicated listener in your application (or watch dbus for signals) and on signal sed the values into your svg file.