Add Multi Backend support

This is based on previous work by Sascha and with help from
Balazs and Thomas.
What do you mean? It's not really elegant but it works :)