Support for dynamically generated forms (needed for cinder multi backend)

Why did you remove the ```>=```? With that you can remove the added ```var part = keys.shift();```below.