Index: applications/editors/josm/plugins/alignways/build.xml
===================================================================
--- applications/editors/josm/plugins/alignways/build.xml	(revision 33783)
+++ applications/editors/josm/plugins/alignways/build.xml	(revision 33784)
@@ -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="10580"/>
+    <property name="plugin.main.version" value="12840"/>
 
     <!-- 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 33783)
+++ applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysAction.java	(revision 33784)
@@ -1,4 +1,4 @@
 /**
- * 
+ *
  */
 package com.tilusnet.josm.plugins.alignways;
@@ -13,5 +13,7 @@
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.command.Command;
+import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -20,5 +22,5 @@
 /**
  * @author tilusnet <tilusnet@gmail.com>
- * 
+ *
  */
 public class AlignWaysAction extends JosmAction {
@@ -31,5 +33,5 @@
                 "alignways",
                 tr("Makes a pair of selected way segments parallel by rotating one of them "
-                        + "around a chosen pivot."), 
+                        + "around a chosen pivot."),
                 Shortcut.registerShortcut("tools:alignways", tr("Tool: {0}", tr("Align Ways")),
                                 KeyEvent.VK_SPACE, Shortcut.SHIFT)
@@ -42,9 +44,10 @@
         if (!isEnabled())
             return;
-        if (getLayerManager().getEditDataSet() == null)
+        DataSet ds = getLayerManager().getEditDataSet();
+        if (ds == null)
             return;
 
         Collection<Node> affectableNodes = AlignWaysSegmentMgr.getInstance(
-                Main.map.mapView).getSelectedNodes();
+                MainApplication.getMap().mapView).getSelectedNodes();
 
         // c is the last command launched, if any
@@ -59,7 +62,7 @@
                     AlignWaysCmdKeepLength cmdAW;
                     if (AlignWaysPlugin.getAwDialog().getAwOpt() == AligningModeOption.ALGN_OPT_KEEP_ANGLE) {
-                        cmdAW = new AlignWaysCmdKeepAngles();
+                        cmdAW = new AlignWaysCmdKeepAngles(ds);
                     } else {
-                        cmdAW = new AlignWaysCmdKeepLength();
+                        cmdAW = new AlignWaysCmdKeepLength(ds);
                     }
 
@@ -70,8 +73,7 @@
                 }
 
-                Main.map.mapView.repaint();
+                MainApplication.getMap().mapView.repaint();
 
                 return;
     }
-
 }
Index: applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysAlgnSegment.java
===================================================================
--- applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysAlgnSegment.java	(revision 33783)
+++ applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysAlgnSegment.java	(revision 33784)
@@ -5,6 +5,6 @@
 import java.awt.Graphics2D;
 import java.awt.Point;
+import java.awt.RenderingHints;
 import java.awt.Shape;
-import java.awt.RenderingHints;
 import java.awt.geom.Ellipse2D;
 import java.awt.geom.Line2D;
@@ -16,5 +16,4 @@
 import java.util.Map;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.coor.EastNorth;
@@ -22,6 +21,8 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.WaySegment;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MapView;
 import org.openstreetmap.josm.gui.NavigatableComponent;
+import org.openstreetmap.josm.tools.Logging;
 
 /**
@@ -132,5 +133,5 @@
             }
         } catch (IndexOutOfBoundsException e) {
-            Main.error(e);
+            Logging.error(e);
             return null;
         }
@@ -194,5 +195,5 @@
         final double incrementOnCircle = 2 * Math.PI / stepsOnCircle;
 
-        Point p = Main.map.mapView.getPoint(node);
+        Point p = MainApplication.getMap().mapView.getPoint(node);
         for (int i = 0; i < stepsOnCircle; i++) {
             double ang = i * incrementOnCircle;
@@ -201,5 +202,5 @@
             Point pnew = new Point();
             pnew.setLocation(x, y);
-            WaySegment ws = Main.map.mapView.getNearestWaySegment(pnew, OsmPrimitive::isUsable);
+            WaySegment ws = MainApplication.getMap().mapView.getNearestWaySegment(pnew, OsmPrimitive::isUsable);
             if (ws != null &&  !ws.equals(this.segment) &&
                     (ws.getFirstNode().equals(node) || ws.getSecondNode().equals(node))) {
@@ -233,5 +234,5 @@
         // If they are, it's a bug, possibly related to tracking of DataSet deletions.
         if (segment.way.getNodesCount() <= segment.lowerIndex + 1) {
-            Main.warn("Not drawing AlignWays pivot points: underlying nodes disappeared");
+            Logging.warn("Not drawing AlignWays pivot points: underlying nodes disappeared");
             return;
         }
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 33783)
+++ applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysCmdKeepAngles.java	(revision 33784)
@@ -1,4 +1,4 @@
 /**
- * 
+ *
  */
 package com.tilusnet.josm.plugins.alignways;
@@ -13,4 +13,5 @@
 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;
@@ -28,5 +29,6 @@
     private AlignableStatus alignableStatKeepAngles = AlignableStatus.ALGN_VALID;
 
-    public AlignWaysCmdKeepAngles() {
+    public AlignWaysCmdKeepAngles(DataSet ds) {
+        super(ds);
         // Now the calculatedNodes reflect the coordinates that we'd have
         // without preserving the angles, i.e. preserving the length.
@@ -36,5 +38,5 @@
         // Now we'll proceed with the hypothetical recalculation of the endpoint coordinates
         // following the rule of preserving angles instead. The new nodes will be stored in nodeArr[].
-        
+
         Node[] nodeArr = algnSeg.getSegmentEndPoints().toArray(new Node[2]);
 
@@ -53,5 +55,5 @@
             return;
         }
-        
+
         ArrayList<WaySegment> alws = algnSeg.getAdjacentWaySegments(endpoint);
         int alwsSize = alws.size();
@@ -60,5 +62,5 @@
             //  - the alignee following the keep length rule
             //  - the adjacent way segment
-            
+
             Node adjOther1 = getNonEqualNode(alws.get(0), endpoint);
             EastNorth enAdjOther1 = adjOther1.getEastNorth();
@@ -69,5 +71,5 @@
                 adjOther2 = getNonEqualNode(alws.get(1), endpoint);
                 enAdjOther2 = adjOther2.getEastNorth();
-                
+
                 // In order have a chance to align, (enAdjOther1, enAdjOther2 and endpoint) must be collinear
                 ArrayList<EastNorth> enAdjPts = new ArrayList<>(3);
@@ -80,9 +82,9 @@
                     return;
                 }
-                
+
             }
 
             // Update the calculated node for angle preserving alignment
-            AlignWaysGeomPoint isectPnt = alignedLineKeepLength.getIntersection(new AlignWaysGeomLine(enAdjOther1.getX(), enAdjOther1.getY(), 
+            AlignWaysGeomPoint isectPnt = alignedLineKeepLength.getIntersection(new AlignWaysGeomLine(enAdjOther1.getX(), enAdjOther1.getY(),
                                                                                                       endpoint.getEastNorth().getX(), endpoint.getEastNorth().getY()));
             EastNorth enIsectPt = null;
@@ -96,14 +98,14 @@
                 return;
             }
-            
-            // For the case of two adjacent segments with collinear points, the new endpoint may  
-            // not fall between enAdjOther1 and enAdjOther2; 
-            // this scenario is not allowed for the time being as placing the new intersection point on the line 
+
+            // For the case of two adjacent segments with collinear points, the new endpoint may
+            // not fall between enAdjOther1 and enAdjOther2;
+            // this scenario is not allowed for the time being as placing the new intersection point on the line
             // triggers complications.
             // TODO - find a solution
             if (alwsSize == 2 && enIsectPt != null) {
                 int middlePtIdx = AlignWaysGeomPoint.getMiddleOf3(
-                        new AlignWaysGeomPoint(enIsectPt), 
-                        new AlignWaysGeomPoint(enAdjOther1), 
+                        new AlignWaysGeomPoint(enIsectPt),
+                        new AlignWaysGeomPoint(enAdjOther1),
                         new AlignWaysGeomPoint(enAdjOther2));
                 if (middlePtIdx != 0) {
@@ -126,5 +128,5 @@
                             alignableStatKeepAngles = AlignableStatus.ALGN_INV_XPOINT_FALLSOUT;
                             return;
-                            
+
                             /*
                             if (middlePt.equalsEpsilon(enAdjOther1, eps)) {
@@ -140,11 +142,11 @@
                 }
             }
-            
+
             if (isectPnt != null) {
                 // Angle preserving alignment passed all verification tests: record it.
                 calculatedNodes.put(endpoint, enIsectPt);
             }
-            
-            
+
+
         } else {
             // angle preserving alignment not possible
@@ -155,10 +157,10 @@
     private boolean isEnSetCollinear(ArrayList<EastNorth> enAdjPts) {
         ArrayList<AlignWaysGeomPoint> awAdjPts = new ArrayList<>();
-        
+
         for (EastNorth en : enAdjPts) {
             AlignWaysGeomPoint pt = new AlignWaysGeomPoint(en.getX(), en.getY());
             awAdjPts.add(pt);
         }
-        
+
         return AlignWaysGeomPoint.isSetCollinear(awAdjPts);
     }
@@ -175,5 +177,5 @@
     /**
      * Reports invalid alignable statuses on screen in dialog boxes.
-     * 
+     *
      * @param stat The invalid status to report
      */
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 33783)
+++ applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysCmdKeepLength.java	(revision 33784)
@@ -1,4 +1,4 @@
 /**
- * 
+ *
  */
 package com.tilusnet.josm.plugins.alignways;
@@ -7,8 +7,8 @@
 
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
-import java.util.Collections;
 
 import javax.swing.Icon;
@@ -18,8 +18,10 @@
 import org.openstreetmap.josm.command.Command;
 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.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.WaySegment;
-import org.openstreetmap.josm.data.projection.Projections;
+import org.openstreetmap.josm.gui.MainApplication;
+import org.openstreetmap.josm.gui.MapView;
 import org.openstreetmap.josm.tools.ImageProvider;
 
@@ -27,8 +29,7 @@
  * Executes one of the desired geometric actions
  * needed to align the ways.
- * 
+ *
  * @author tilusnet <tilusnet@gmail.com>
  */
-
 public class AlignWaysCmdKeepLength extends Command {
 
@@ -54,5 +55,4 @@
     final Map<Node,EastNorth> calculatedNodes = new HashMap<>();
 
-
     /**
      * Set of nodes that were affected by the last command execution.
@@ -67,5 +67,5 @@
     /**
      * Computed rotation angle to rotate the segment
-     * 
+     *
      */
     private final double rotationAngle;
@@ -80,13 +80,12 @@
      * TODO Limitation (for now): constructor assumes areSegsAlignable() returns true.
      */
-    public AlignWaysCmdKeepLength() {
-
+    public AlignWaysCmdKeepLength(DataSet ds) {
+        super(ds);
         lastAffectedNodes = null;
 
-        algnSeg = AlignWaysSegmentMgr.getInstance(Main.map.mapView)
-                .getAlgnSeg();
+        MapView mapView = MainApplication.getMap().mapView;
+        algnSeg = AlignWaysSegmentMgr.getInstance(mapView).getAlgnSeg();
         WaySegment algnWS = algnSeg.getSegment();
-        WaySegment refWS = AlignWaysSegmentMgr.getInstance(Main.map.mapView)
-                .getRefSeg().getSegment();
+        WaySegment refWS = AlignWaysSegmentMgr.getInstance(mapView).getRefSeg().getSegment();
 
         this.pivot = algnSeg.getCurrPivotCoord();
@@ -123,5 +122,4 @@
         }
 
-
         /*
          * For debug only
@@ -133,10 +131,9 @@
          * + Math.toDegrees(rotationAngle) + ")";
          */
-
     }
 
     /**
      * Helper for actually rotating the nodes.
-     * 
+     *
      * @param setModified
      *            - true if rotated nodes should be flagged "modified"
@@ -236,5 +233,5 @@
         Collection<Node> algnNodes = displaceableNodes;
         Collection<Node> refNodes = AlignWaysSegmentMgr
-                .getInstance(Main.map.mapView).getRefSeg()
+                .getInstance(MainApplication.getMap().mapView).getRefSeg()
                 .getSegmentEndPoints();
 
@@ -256,8 +253,6 @@
         // Deny action if the nodes would end up outside world
         for (EastNorth en : calculatedNodes.values()) {
-
-            if (Projections.inverseProject(en).isOutSideWorld())
+            if (Main.getProjection().eastNorth2latlon(en).isOutSideWorld())
                 return AlignableStatus.ALGN_INV_OUTSIDE_WORLD;
-
         }
 
@@ -268,5 +263,5 @@
     /**
      * Validates the circumstances of the alignment command to be executed.
-     * 
+     *
      * @return true if the aligning action can be done, false otherwise.
      */
@@ -284,5 +279,5 @@
     /**
      * Reports invalid alignable statuses on screen in dialog boxes.
-     * 
+     *
      * @param stat The invalid status to report
      */
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 33783)
+++ applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysMode.java	(revision 33784)
@@ -31,5 +31,5 @@
 import org.openstreetmap.josm.data.osm.event.WayNodesChangedEvent;
 import org.openstreetmap.josm.gui.IconToggleButton;
-import org.openstreetmap.josm.gui.MapFrame;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
@@ -52,10 +52,10 @@
     boolean tipShown;
 
-    public AlignWaysMode(MapFrame mapFrame, String name, String desc) {
+    public AlignWaysMode(String name, String desc) {
         super(tr(name), "alignways.png", tr(desc),
                 Shortcut.registerShortcut("mapmode:alignways",
                         tr("Mode: {0}", tr("Align Ways")),
                         KeyEvent.VK_N, Shortcut.SHIFT),
-                        mapFrame, Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+                        Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
         noneSelected = new AlignWaysSelNoneState();
         referenceSelected = new AlignWaysSelRefState();
@@ -63,5 +63,4 @@
         bothSelected = new AlignWaysSelBothState();
         tipShown = false;
-
     }
 
@@ -86,7 +85,7 @@
         }
 
-        awSegs = AlignWaysSegmentMgr.getInstance(Main.map.mapView);
-        Main.map.mapView.addMouseListener(this);
-        DataSet ds = Main.getLayerManager().getEditDataSet();
+        awSegs = AlignWaysSegmentMgr.getInstance(MainApplication.getMap().mapView);
+        MainApplication.getMap().mapView.addMouseListener(this);
+        DataSet ds = MainApplication.getLayerManager().getEditDataSet();
         if (ds != null)
             ds.addDataSetListener(this);
@@ -107,6 +106,6 @@
 
         setCurrentState(noneSelected);
-        Main.map.mapView.removeMouseListener(this);
-        DataSet ds = Main.getLayerManager().getEditDataSet();
+        MainApplication.getMap().mapView.removeMouseListener(this);
+        DataSet ds = MainApplication.getLayerManager().getEditDataSet();
         if (ds != null)
             ds.removeDataSetListener(this);
@@ -144,5 +143,5 @@
         }
 
-        Main.map.mapView.repaint();
+        MainApplication.getMap().mapView.repaint();
     }
 
@@ -234,5 +233,5 @@
         tipDialog.dispose();
 
-        Main.pref.put("alignways.showtips", !atp.isChkBoxSelected());
+        Main.pref.putBoolean("alignways.showtips", !atp.isChkBoxSelected());
     }
 
@@ -273,5 +272,5 @@
     @Override
     public void primitivesRemoved(PrimitivesRemovedEvent event) {
-        awSegs = AlignWaysSegmentMgr.getInstance(Main.map.mapView);
+        awSegs = AlignWaysSegmentMgr.getInstance(MainApplication.getMap().mapView);
 
         // Check whether any of the removed primitives were part of a highlighted alignee or reference segment.
Index: applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysPlugin.java
===================================================================
--- applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysPlugin.java	(revision 33783)
+++ applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysPlugin.java	(revision 33784)
@@ -3,7 +3,7 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.gui.IconToggleButton;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MainMenu;
 import org.openstreetmap.josm.gui.MapFrame;
@@ -15,5 +15,4 @@
  *
  */
-
 public class AlignWaysPlugin extends Plugin {
 
@@ -29,9 +28,9 @@
     public AlignWaysPlugin(PluginInformation info) {
         super(info);
-        
+
         // Add the action entries to the Tools Menu
-        Main.main.menu.moreToolsMenu.addSeparator();
+        MainApplication.getMenu().moreToolsMenu.addSeparator();
         awAction = new AlignWaysAction();
-        MainMenu.add(Main.main.menu.moreToolsMenu, awAction);
+        MainMenu.add(MainApplication.getMenu().moreToolsMenu, awAction);
     }
 
@@ -40,5 +39,5 @@
         if (newFrame != null) {
             // Construct the AlignWays mode toggle button
-            awMode = new AlignWaysMode(Main.map, "alignways", tr("Align Ways mode"));
+            awMode = new AlignWaysMode("alignways", tr("Align Ways mode"));
             btn = new IconToggleButton(awMode);
             btn.setVisible(true);
Index: applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSegment.java
===================================================================
--- applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSegment.java	(revision 33783)
+++ applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSegment.java	(revision 33784)
@@ -16,5 +16,4 @@
 import java.util.Objects;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.osm.Node;
@@ -24,4 +23,5 @@
 import org.openstreetmap.josm.gui.MapView;
 import org.openstreetmap.josm.gui.layer.MapViewPaintable;
+import org.openstreetmap.josm.tools.Logging;
 
 /**
@@ -63,5 +63,5 @@
                 segmentEndPoints.add(segment.getSecondNode());
             } catch (IndexOutOfBoundsException e) {
-                Main.error(e);
+                Logging.error(e);
             }
         }
@@ -91,5 +91,5 @@
         // If they are, it's a bug, possibly related to tracking of DataSet deletions.
         if (segment.way.getNodesCount() <= segment.lowerIndex + 1) {
-            Main.warn("Not drawing AlignWays highlighting segment: underlying nodes disappeared");
+            Logging.warn("Not drawing AlignWays highlighting segment: underlying nodes disappeared");
             return;
         }
@@ -112,5 +112,5 @@
             g.draw(new Line2D.Double(mv.getPoint(n1), mv.getPoint(n2)));
         } catch (IndexOutOfBoundsException e) {
-            Main.error(e);
+            Logging.error(e);
         }
     }
Index: applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSelAlgnState.java
===================================================================
--- applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSelAlgnState.java	(revision 33783)
+++ applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSelAlgnState.java	(revision 33784)
@@ -4,6 +4,7 @@
 package com.tilusnet.josm.plugins.alignways;
 
-import org.openstreetmap.josm.Main;
 import static org.openstreetmap.josm.tools.I18n.tr;
+
+import org.openstreetmap.josm.gui.MainApplication;
 
 /**
@@ -25,5 +26,5 @@
     @Override
     public void setHelpText() {
-        Main.map.statusLine
+        MainApplication.getMap().statusLine
                 .setHelpText(tr("Ctrl-Click: select reference way segment; Alt-click: Clear selection"));
     }
Index: applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSelBothState.java
===================================================================
--- applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSelBothState.java	(revision 33783)
+++ applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSelBothState.java	(revision 33784)
@@ -5,5 +5,6 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
-import org.openstreetmap.josm.Main;
+
+import org.openstreetmap.josm.gui.MainApplication;
 
 /**
@@ -25,5 +26,5 @@
     @Override
     public void setHelpText() {
-        Main.map.statusLine
+        MainApplication.getMap().statusLine
         .setHelpText(AlignWaysPlugin.getAwAction().getShortcut().getKeyText() +
                 tr(": Align segments; Alt-click: Clear selection"));
Index: applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSelNoneState.java
===================================================================
--- applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSelNoneState.java	(revision 33783)
+++ applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSelNoneState.java	(revision 33784)
@@ -5,5 +5,6 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
-import org.openstreetmap.josm.Main;
+
+import org.openstreetmap.josm.gui.MainApplication;
 
 /**
@@ -28,5 +29,5 @@
     @Override
     public void setHelpText() {
-        Main.map.statusLine
+        MainApplication.getMap().statusLine
         .setHelpText(tr("Ctrl-click: select reference way segment; Click: select way segment to be aligned"));
     }
Index: applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSelRefState.java
===================================================================
--- applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSelRefState.java	(revision 33783)
+++ applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysSelRefState.java	(revision 33784)
@@ -5,5 +5,6 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
-import org.openstreetmap.josm.Main;
+
+import org.openstreetmap.josm.gui.MainApplication;
 
 /**
@@ -25,5 +26,5 @@
     @Override
     public void setHelpText() {
-        Main.map.statusLine
+        MainApplication.getMap().statusLine
                 .setHelpText(tr("Click: select way segment to be aligned; Alt-click: Clear selection"));
     }
Index: applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysState.java
===================================================================
--- applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysState.java	(revision 33783)
+++ applications/editors/josm/plugins/alignways/src/com/tilusnet/josm/plugins/alignways/AlignWaysState.java	(revision 33784)
@@ -5,5 +5,6 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
-import org.openstreetmap.josm.Main;
+
+import org.openstreetmap.josm.gui.MainApplication;
 
 /**
@@ -21,5 +22,5 @@
     public void altLClick(AlignWaysMode alignWaysMode) {
         alignWaysMode.setCurrentState(alignWaysMode.getNoneSelected());
-        Main.map.statusLine
+        MainApplication.getMap().statusLine
         .setHelpText(tr("Ctrl-Click: select reference way segment; Click: select way segment to be aligned"));
     }
