rather than each backend storing this itself.
This allows many methods to assume that they are working on the current instance number rather than being passed the instance number
registering the compass via the compass backend method now infers setting the device ID
this allows for the creation of the backend to fail gracefully
without this the backend will still have a value of 0, and will still get updated, overwriting the data for one of the registered compasses