Index: trunk/src/org/expeditee/auth/Actions.java
===================================================================
--- trunk/src/org/expeditee/auth/Actions.java	(revision 1539)
+++ trunk/src/org/expeditee/auth/Actions.java	(revision 1540)
@@ -48,4 +48,5 @@
 import org.expeditee.encryption.CryptographyConstants;
 import org.expeditee.gio.gesture.StandardGestureActions;
+import org.expeditee.gui.Browser;
 import org.expeditee.gui.DisplayController;
 import org.expeditee.gui.Frame;
@@ -96,4 +97,5 @@
 		String backup = UserSettings.UserName.get();
 		System.setProperty("user.name", userbackup);
+		Browser.setExpediteeUserName(userbackup);
 		UserSettings.UserName.set(userbackup);
 		userbackup = backup;
Index: trunk/src/org/expeditee/auth/AuthenticatorBrowser.java
===================================================================
--- trunk/src/org/expeditee/auth/AuthenticatorBrowser.java	(revision 1539)
+++ trunk/src/org/expeditee/auth/AuthenticatorBrowser.java	(revision 1540)
@@ -84,5 +84,5 @@
 	public static boolean isAuthenticated() {
 		//return isAuthenticationRequired() && !UserSettings.UserName.get().equals(AuthenticatorBrowser.USER_NOBODY);
-		return isAuthenticationRequired() && !System.getProperty("user.name").equals(AuthenticatorBrowser.USER_NOBODY);
+		return isAuthenticationRequired() && !Browser.getExpediteeUserName().equals(AuthenticatorBrowser.USER_NOBODY);
 	}
 	
Index: trunk/src/org/expeditee/auth/account/Authenticate.java
===================================================================
--- trunk/src/org/expeditee/auth/account/Authenticate.java	(revision 1539)
+++ trunk/src/org/expeditee/auth/account/Authenticate.java	(revision 1540)
@@ -53,5 +53,5 @@
 		}
 		
-		System.setProperty("user.name", username);
+		Browser.setExpediteeUserName(username);
 		UserSettings.UserName.set(username);
 		if (!username.equals(AuthenticatorBrowser.ADMINACCOUNT)) {
Index: trunk/src/org/expeditee/auth/account/Create.java
===================================================================
--- trunk/src/org/expeditee/auth/account/Create.java	(revision 1539)
+++ trunk/src/org/expeditee/auth/account/Create.java	(revision 1540)
@@ -31,4 +31,5 @@
 import org.expeditee.core.Colour;
 import org.expeditee.encryption.CryptographyConstants;
+import org.expeditee.gui.Browser;
 import org.expeditee.gui.DisplayController;
 import org.expeditee.gui.Frame;
@@ -86,13 +87,14 @@
 		// Update in memory settings
 		ProfileManager.ensureDefaultProfile();
-		System.setProperty("user.name", username);
+		Browser.setExpediteeUserName(username);
 		UserSettings.UserName.set(username);
 		//UserSettings.ProfileName.set(username);
-		UserSettings.ProfileName.set(FrameIO.ConvertToValidFramesetName(username));
+		final String profileName = FrameIO.ConvertToValidFramesetName(username);
+		UserSettings.ProfileName.set(profileName);
 		UserSettings.setupDefaultFolders();
 				
 		Frame profile;
 		try {
-			profile = createNewProfile(username, email, personalKey, privateKey, publicKey);
+			profile = createNewProfile(username, profileName, email, personalKey, privateKey, publicKey);
 		} catch (InvalidFramesetNameException | ExistingFramesetException e) {
 			return CreateResult.ErrorNewProfile;
@@ -201,5 +203,5 @@
 	}
 
-	private static Frame createNewProfile(String username, String email, String personalKey, String privateKey,
+	private static Frame createNewProfile(String username, String profileName, String email, String personalKey, String privateKey,
 			String publicKey) throws InvalidFramesetNameException, ExistingFramesetException {
 		// Establish the initial settings for the created user.
@@ -241,5 +243,5 @@
 		
 		// Create users profile
-		Frame profile = FrameIO.CreateNewProfile(username, initialSettings, notifiers);
+		Frame profile = FrameIO.CreateNewProfile(username, profileName, initialSettings, notifiers);
 		int lastNumber = FrameIO.getLastNumber(profile.getFramesetName());
 		for (int i = 1; i <= lastNumber; i++) {
Index: trunk/src/org/expeditee/auth/tags/AuthenticationTag.java
===================================================================
--- trunk/src/org/expeditee/auth/tags/AuthenticationTag.java	(revision 1539)
+++ trunk/src/org/expeditee/auth/tags/AuthenticationTag.java	(revision 1540)
@@ -9,5 +9,5 @@
 
 public enum AuthenticationTag {
-	Username ("txtUsername", System.getProperty("user.name")), 
+	Username ("txtUsername", System.getProperty("user.name")), // Should use Browser.getExpediteeUserName()
 	Password ("txtPassword", System.getProperty("user.password")), 
 	PasswordAgain ("txtPasswordAgain", System.getProperty("user.password.again")), 
Index: trunk/src/org/expeditee/gio/swing/SwingGraphicsManager.java
===================================================================
--- trunk/src/org/expeditee/gio/swing/SwingGraphicsManager.java	(revision 1539)
+++ trunk/src/org/expeditee/gio/swing/SwingGraphicsManager.java	(revision 1540)
@@ -197,9 +197,18 @@
 
 		if (on) {
+			if (hasAntialiasing) {
+				//return;
+			}
 			surface.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+			hasAntialiasing = true;
 		} else {
+			if (hasAntialiasing) {
+				//return;
+			}
 			surface.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
 		}
 	}
+	
+	private static boolean hasAntialiasing = false;
 
 	@Override
Index: trunk/src/org/expeditee/gui/Browser.java
===================================================================
--- trunk/src/org/expeditee/gui/Browser.java	(revision 1539)
+++ trunk/src/org/expeditee/gui/Browser.java	(revision 1540)
@@ -169,7 +169,7 @@
 	public static void main(String[] args) {
 		if (AuthenticatorBrowser.isAuthenticationRequired()) {
-			String starting_user_name = System.getProperty("user.name");
+			String starting_user_name = getExpediteeUserName();
 			System.setProperty("startinguser.name", starting_user_name);
-			System.setProperty("user.name", AuthenticatorBrowser.USER_NOBODY);
+			setExpediteeUserName(AuthenticatorBrowser.USER_NOBODY);
 		}
 		
@@ -276,5 +276,5 @@
 
 		if (!AuthenticatorBrowser.isAuthenticationRequired() && UserSettings.PublicAndPrivateResources) {
-			String userName = System.getProperty("user.name"); //UserSettings.ProfileName.get();
+			String userName = getExpediteeUserName(); //UserSettings.ProfileName.get();
 			if (!FrameIO.personalResourcesExist(userName)) {
 				FrameIO.setupPersonalResources(userName);
@@ -537,15 +537,32 @@
 		});
 	}
-
+		
+	private static String expediteeUserName = System.getProperty("user.name");
+	
+	public static String getExpediteeUserName() {
+//		String expediteeUserNameLocal = FrameIO.ConvertToValidFramesetName(expediteeUserName);
+//		return expediteeUserNameLocal;
+		return expediteeUserName;
+	}
+	
+	public static void setExpediteeUserName(String username) {
+		expediteeUserName = username;
+	}
+	
+	public static String getExpediteeUserProfileName() {
+		String expediteeUserNameLocal = FrameIO.ConvertToValidFramesetName(expediteeUserName);
+		return expediteeUserNameLocal;
+	}
+	
 	/**
 	 * @return The user's profile frame.
 	 */
-	public static Frame loadInitialProfiles()
-	{
+	public static Frame loadInitialProfiles() {
 		String defaultProfileName = UserSettings.DEFAULT_PROFILE_NAME;
-		String userName = System.getProperty("user.name");
-
-		Frame defaultProfile = loadProfile(defaultProfileName);
-		Frame userProfile = loadProfile(userName);
+		String userName = getExpediteeUserName();
+		String userProfileName = getExpediteeUserProfileName();
+
+		Frame defaultProfile = loadProfile(defaultProfileName, defaultProfileName);
+		Frame userProfile = loadProfile(userName, userProfileName);
 		
 		MessageBay.warningMessages(FrameUtils.ParseProfile(defaultProfile));
@@ -571,10 +588,10 @@
 	}
 
-	protected static Frame loadProfile(String userName)	{
-		Frame profile = FrameIO.LoadProfile(userName);
+	protected static Frame loadProfile(String username, String profileName)	{
+		Frame profile = FrameIO.LoadProfile(profileName);
 		
 		if (profile == null) {
 			try {
-				profile = FrameIO.CreateNewProfile(userName, null, null);
+				profile = FrameIO.CreateNewProfile(username, profileName, null, null);
 			} catch (Exception e) {
 				// TODO tell the user that there was a problem creating the
Index: trunk/src/org/expeditee/gui/FrameIO.java
===================================================================
--- trunk/src/org/expeditee/gui/FrameIO.java	(revision 1539)
+++ trunk/src/org/expeditee/gui/FrameIO.java	(revision 1540)
@@ -1100,5 +1100,10 @@
 		
 		if (toSave == null || !toSave.hasChanged() || toSave.isSaved()) {
+			System.err.println("FrameIO::SaveFrame::Nothing to save, backing out.");
 			return "";
+		}
+		
+		if (toSave.getName().toLowerCase().equals("abc146a1")) {
+			System.out.println("here");
 		}
 
@@ -1200,4 +1205,6 @@
 			boolean fileModifyConflict = fileLastModify > frameLastModify && !isBayFrameset;
 			boolean versionConflict = savedVersion > toSave.getVersion() && !isBayFrameset;
+			
+			System.err.println("FrameIO::SaveFrame::Checking for conflicts for frame:" + toSave.getName());
 			
 			if ((fileModifyConflict || versionConflict) && savedVersion > 0) {
@@ -1405,15 +1412,15 @@
 	}
 
-	public static Frame LoadProfile(String userName)
+	public static Frame LoadProfile(String profileName)
 	{
 		final String profilesLoc = System.getProperty("profiles.loc");
 		if (profilesLoc != null) {
-			return LoadFrame(userName + "1", profilesLoc);
+			return LoadFrame(profileName + "1", profilesLoc);
 		} else {
-			return LoadFrame(userName + "1");
-		}
-	}
-
-	public static Frame CreateNewProfile(String username, Map<String, Setting> initialSettings, Map<String, Consumer<Frame>> toNotifyOnSet) throws InvalidFramesetNameException, ExistingFramesetException {
+			return LoadFrame(profileName + "1");
+		}
+	}
+
+	public static Frame CreateNewProfile(String userName, String profileName, Map<String, Setting> initialSettings, Map<String, Consumer<Frame>> toNotifyOnSet) throws InvalidFramesetNameException, ExistingFramesetException { //TODO: Investigate these throws, they never seem to be thrown up this far.
 //		Frame profile = CreateFrameset(username, PROFILE_PATH, true);
 //		if (profile != null) {
@@ -1425,10 +1432,15 @@
 //		}
 //		return profile;
-		if (username.equals(UserSettings.DEFAULT_PROFILE_NAME)) {
-			ProfileManager.ensureDefaultProfile();
-			return FrameIO.LoadFrame(UserSettings.DEFAULT_PROFILE_NAME + "1");
+		if (profileName.equals(UserSettings.DEFAULT_PROFILE_NAME)) {
+			System.err.println("FrameIO::CreateNewProfile::DEPRECATED::CreateNewProfile should no longer be called to create a default profile.  Use FrameIO::CreateNewDefaultProfile instead.");
+			return CreateNewDefaultProfile();
 		} else {
-			return ProfileManager.createProfile(username, initialSettings, toNotifyOnSet);
-		}
+			return ProfileManager.createProfile(userName, profileName, initialSettings, toNotifyOnSet);
+		}
+	}
+	
+	public static Frame CreateNewDefaultProfile() throws InvalidFramesetNameException, ExistingFramesetException  { //TODO: Investigate these throws, they never seem to be thrown up this far.
+		ProfileManager.ensureDefaultProfile();
+		return FrameIO.LoadFrame(UserSettings.DEFAULT_PROFILE_NAME + "1");
 	}
 
Index: trunk/src/org/expeditee/gui/MessageBay.java
===================================================================
--- trunk/src/org/expeditee/gui/MessageBay.java	(revision 1539)
+++ trunk/src/org/expeditee/gui/MessageBay.java	(revision 1540)
@@ -481,5 +481,5 @@
 		}
 		
-		_authorisedUser = new Text("Username: " + System.getProperty("user.name"));
+		_authorisedUser = new Text("Username: " + Browser.getExpediteeUserName());
 		_authorisedUser.setFont(new Font(Text.MONOSPACED_FONT));
 		_authorisedUser.setY(95);
Index: trunk/src/org/expeditee/gui/management/ProfileManager.java
===================================================================
--- trunk/src/org/expeditee/gui/management/ProfileManager.java	(revision 1539)
+++ trunk/src/org/expeditee/gui/management/ProfileManager.java	(revision 1540)
@@ -31,19 +31,20 @@
 	private static final String[] startPages = { "exploratorysearch", "webbrowser" };
 	public static final String USER_NAME_FLAG = "${" + "USER.NAME" + "}";
-
-	public static Frame createProfile(String profileFor, Map<String, Setting> specifiedSettings,
+	public static final String PROFILE_NAME_FLAG = "${" + "PROFILE.NAME" + "}";
+
+	public static Frame createProfile(String username, String profileName, Map<String, Setting> specifiedSettings,
 			Map<String, Consumer<Frame>> notifyWhenGenerated) {
 		ensureDefaultProfile();
 		Frame profileOne = null;
-		profileFor = FrameIO.ConvertToValidFramesetName(profileFor);
+		//String profileName = FrameIO.ConvertToValidFramesetName(username); // TODO: Delete this line before SVN commit
 		
 		try {
-			Frame profile = FrameIO.CreateFrameset(profileFor, FrameIO.PROFILE_PATH, true, null);
+			Frame profile = FrameIO.CreateFrameset(profileName, FrameIO.PROFILE_PATH, true, null);
 			profileOne = profile;
-			profile.setTitle(profileFor + "'s Profile");
+			profile.setTitle(username + "'s Profile");
 			Frame defaultFrame = FrameIO.LoadFrame(DEFAULT + "1");
 			MessageBay.suppressMessages(true);
-			UserSettings.UserName.set(profileFor);
-			UserSettings.ProfileName.set(FrameIO.ConvertToValidFramesetName(profileFor));
+			UserSettings.UserName.set(username);
+			UserSettings.ProfileName.set(profileName);
 			
 			int lastNumber = FrameIO.getLastNumber(defaultFrame.getFramesetName());
@@ -83,5 +84,7 @@
 					if (item instanceof Text) {
 						String content = item.getText();
-						item.setText(ResourceUtil.substitute(content, ProfileManager.USER_NAME_FLAG, profileFor));
+						String contentWithUserSub = ResourceUtil.substitute(content, ProfileManager.USER_NAME_FLAG, username);
+						String contentWithUserAndProfileSub = ResourceUtil.substitute(contentWithUserSub, ProfileManager.PROFILE_NAME_FLAG, FrameIO.ConvertToValidFramesetName(profileName));
+						item.setText(contentWithUserAndProfileSub);
 					}
 				}
Index: trunk/src/org/expeditee/items/Dot.java
===================================================================
--- trunk/src/org/expeditee/items/Dot.java	(revision 1539)
+++ trunk/src/org/expeditee/items/Dot.java	(revision 1540)
@@ -234,4 +234,5 @@
 			} else if (_highlightMode == HighlightMode.Connected) {
 				g.drawRectangle(bounds.getTopLeft(), bounds.getSize(), 0.0f, null, highlightColor, HIGHLIGHT_STROKE, null);
+				System.err.println("Dot::paint:Painting Dot with colour: " + highlightColor);
 			} else if (_highlightMode == HighlightMode.Normal) {
 				g.drawOval(bounds.getCentre(), bounds.getSize(), 0.0f, fill, highlightColor, DOT_STROKE);
