FLA UI Refactoring

I want to merge these changes into the working branch asap. They're core to being able to cleanly implement the mapping structure and build it in to the existing UI, but if I don't get them merged up front, any other modifications made to the FLA will result in clobbering of changes.

I *shouldn't* have to make any other modifications to the FLA past this point to get the map working, anything else would just be changes for the sake of changes.