Index: /applications/editors/josm/plugins/alignways/build.xml
===================================================================
--- /applications/editors/josm/plugins/alignways/build.xml	(revision 34487)
+++ /applications/editors/josm/plugins/alignways/build.xml	(revision 34488)
@@ -4,5 +4,5 @@
     <property name="commit.message" value="AlignWays: moved to Shift-Spacebar due to shortcut confilcts with core. A is too overloaded"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="12840"/>
+    <property name="plugin.main.version" value="14153"/>
 
     <!-- Configure these properties (replace "..." accordingly).
Index: /applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysAction.java
===================================================================
--- /applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysAction.java	(revision 34487)
+++ /applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysAction.java	(revision 34488)
@@ -10,7 +10,7 @@
 import java.util.Collection;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.command.Command;
+import org.openstreetmap.josm.data.UndoRedoHandler;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
@@ -52,5 +52,5 @@
 
         // c is the last command launched, if any
-        Command c = !Main.main.undoRedo.commands.isEmpty() ? Main.main.undoRedo.commands
+        Command c = !UndoRedoHandler.getInstance().commands.isEmpty() ? UndoRedoHandler.getInstance().commands
                 .getLast() : null;
 
@@ -69,5 +69,5 @@
                     if (cmdAW.executable()) {
                         // This will also trigger AlignWaysCmdKeepLength.executeCommand()
-                        Main.main.undoRedo.add(cmdAW);
+                        UndoRedoHandler.getInstance().add(cmdAW);
                     }
                 }
Index: /applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysCmdKeepAngles.java
===================================================================
--- /applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysCmdKeepAngles.java	(revision 34487)
+++ /applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysCmdKeepAngles.java	(revision 34488)
@@ -11,9 +11,9 @@
 import javax.swing.JOptionPane;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.WaySegment;
+import org.openstreetmap.josm.gui.MainApplication;
 
 import com.tilusnet.josm.plugins.alignways.geometry.AlignWaysGeomLine;
@@ -211,5 +211,5 @@
 
         JOptionPane.showMessageDialog(
-                Main.parent,
+                MainApplication.getMainFrame(),
                 tr(statMsg),
                 tr("AlignWayS: Alignment not possible"),
Index: /applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysCmdKeepLength.java
===================================================================
--- /applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysCmdKeepLength.java	(revision 34487)
+++ /applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysCmdKeepLength.java	(revision 34488)
@@ -15,5 +15,4 @@
 import javax.swing.JOptionPane;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.data.coor.EastNorth;
@@ -22,4 +21,5 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.WaySegment;
+import org.openstreetmap.josm.data.projection.ProjectionRegistry;
 import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MapView;
@@ -253,5 +253,5 @@
         // Deny action if the nodes would end up outside world
         for (EastNorth en : calculatedNodes.values()) {
-            if (Main.getProjection().eastNorth2latlon(en).isOutSideWorld())
+            if (ProjectionRegistry.getProjection().eastNorth2latlon(en).isOutSideWorld())
                 return AlignableStatus.ALGN_INV_OUTSIDE_WORLD;
         }
@@ -300,5 +300,5 @@
 
         JOptionPane.showMessageDialog(
-                Main.parent,
+                MainApplication.getMainFrame(),
                 tr(statMsg),
                 tr("AlignWayS: Alignment not possible"),
Index: /applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysMode.java
===================================================================
--- /applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysMode.java	(revision 34487)
+++ /applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysMode.java	(revision 34488)
@@ -18,5 +18,4 @@
 import javax.swing.JOptionPane;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.mapmode.MapMode;
 import org.openstreetmap.josm.data.osm.DataSet;
@@ -34,4 +33,5 @@
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.spi.preferences.Config;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -76,9 +76,9 @@
         }
 
-        boolean showTips = Boolean.parseBoolean(Main.pref.get("alignways.showtips", "true"));
+        boolean showTips = Boolean.parseBoolean(Config.getPref().get("alignways.showtips", "true"));
         if ((showTips) && (!tipShown)) {
             showTips();
         }
-        int majorVer = Integer.parseInt(Main.pref.get("alignways.majorver", "-1"));
+        int majorVer = Integer.parseInt(Config.getPref().get("alignways.majorver", "-1"));
         if (majorVer != AlignWaysPlugin.AlignWaysMajorVersion) {
             showWhatsNew();
@@ -224,5 +224,5 @@
                 null, okButton, okButton[0]);
         tipPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 30, 10));
-        JDialog tipDialog = tipPane.createDialog(Main.parent, tr("AlignWays Tips"));
+        JDialog tipDialog = tipPane.createDialog(MainApplication.getMainFrame(), tr("AlignWays Tips"));
         tipDialog.setIconImage(new ImageIcon(getClass().getResource("/images/alignways.png")).getImage());
 
@@ -233,5 +233,5 @@
         tipDialog.dispose();
 
-        Main.pref.putBoolean("alignways.showtips", !atp.isChkBoxSelected());
+        Config.getPref().putBoolean("alignways.showtips", !atp.isChkBoxSelected());
     }
 
@@ -241,5 +241,5 @@
         JOptionPane wnPane = new JOptionPane(awnp, JOptionPane.PLAIN_MESSAGE, JOptionPane.DEFAULT_OPTION, null);
         wnPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
-        JDialog wnDialog = wnPane.createDialog(Main.parent, tr("AlignWays: What''s New..."));
+        JDialog wnDialog = wnPane.createDialog(MainApplication.getMainFrame(), tr("AlignWays: What''s New..."));
         wnDialog.setIconImage(new ImageIcon(getClass().getResource("/images/alignways.png")).getImage());
 
@@ -249,5 +249,5 @@
         wnDialog.dispose();
 
-        Main.pref.put("alignways.majorver", Integer.toString(AlignWaysPlugin.AlignWaysMajorVersion));
+        Config.getPref().put("alignways.majorver", Integer.toString(AlignWaysPlugin.AlignWaysMajorVersion));
     }
 
Index: /applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSegmentMgr.java
===================================================================
--- /applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSegmentMgr.java	(revision 34487)
+++ /applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSegmentMgr.java	(revision 34488)
@@ -9,7 +9,7 @@
 import javax.swing.JOptionPane;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MapView;
 
@@ -76,5 +76,5 @@
         }
         else if (refSeg != null && tmpAlgnSeg.equals(refSeg)) {
-            JOptionPane.showMessageDialog(Main.parent,
+            JOptionPane.showMessageDialog(MainApplication.getMainFrame(),
                     tr("Segment to be aligned cannot be the same with the reference segment.\n" +
                     "Please choose a different segment to be aligned."),
@@ -110,5 +110,5 @@
         }
         else if (algnSeg != null && tmpRefSeg.equals(algnSeg)) {
-            JOptionPane.showMessageDialog(Main.parent,
+            JOptionPane.showMessageDialog(MainApplication.getMainFrame(),
                     tr("Reference segment cannot be the same with the segment to be aligned.\n" +
                     "Please choose a different reference segment."),
