Wrong image name under one of the properties.
Added example template.  (Just so happens this will work with Epitaph.)
Decomposed the color chooser into its own class with an interface so that it can be more easily mocked.  DI, DI, DI!
Decomposed the color chooser into its own class with an interface so that it can be more easily mocked.  DI, DI, DI!
Renamed classes in the name of consistency.
Renamed classes in the name of consistency.
Added tests for the ColorChooserListener.
Decomposed persistence into loading and saving classes.
Added tests for Load command.
Added tests for save command.
Added tests for extra branch in StreetColorSetter.
Street field renamed to street name in order to prevent confusion.  It should be clear that these methods are dealing with Strings and not street objects.
Passing the color chooser and the setters in by direction injection rather than instantiating them inside the class.
Fixed a bug whereby the color state was not being stored to cells when coloring a street.
All the color chooser gubbins is getting instantiated here and passed into the ColorChooserListener.  All the creational code is now consolodated here.
Passing the title to the dialog rather than having logic inside it to figure out what the title should be.  This is a much more OCP solution.
Factored the ActionListener for adding a bug report out into its own class.
Factored the load dialog out into its own class with an interface.
Can now delete rooms from the edit menu once again.
Load dialog and save command are now passed-in.