4/16/13: changing how shells work. each shell will hold onto a linked list of its panels. so when an update is needed, it can do so easily. whenever a change is made to a model, the model will tell Main, and main will tell its UIModels, and the UIModels will tell their shells, and the shells will tell their panels