Negative Indexes with add_component weirdness

When I use negative indicies in the add_component method, it orders all the components in a seemingly random order – especially when you start adding multiple components with a negative index.

Also, if I try to use a negative index on a form itself, it just raises an error.