diff --git a/Nibriboard/Client/LineIncubator.cs b/Nibriboard/Client/LineIncubator.cs
index 062b459..0a19eab 100644
--- a/Nibriboard/Client/LineIncubator.cs
+++ b/Nibriboard/Client/LineIncubator.cs
@@ -13,7 +13,7 @@ namespace Nibriboard.Client
 		/// <summary>
 		/// The current lines that haven't been completed yet.
 		/// </summary>
-		private Dictionary<Guid, DrawnLine> currentLines = new Dictionary<Guid, DrawnLine>();
+		private Dictionary<string, DrawnLine> currentLines = new Dictionary<string, DrawnLine>();
 
 		/// <summary>
 		/// The number of lines that this line incubator has completed.
@@ -37,7 +37,7 @@ namespace Nibriboard.Client
 		/// Figures out whether an incomplete line with the given id exists or not.
 		/// </summary>
 		/// <param name="lineId">The line id to check for.</param>
-		public bool LineExists(Guid lineId)
+		public bool LineExists(string lineId)
 		{
 			if(currentLines[lineId] != null)
 				return true;
@@ -49,7 +49,7 @@ namespace Nibriboard.Client
 		/// </summary>
 		/// <param name="lineId">The line id to add the points to.</param>
 		/// <param name="points">The points to add to the lines.</param>
-		public void AddBit(Guid lineId, List<LocationReference> points)
+		public void AddBit(string lineId, List<LocationReference> points)
 		{
 			// Create a new line if one doesn't exist already
 			if(!currentLines.ContainsKey(lineId))
@@ -64,7 +64,7 @@ namespace Nibriboard.Client
 		/// </summary>
 		/// <param name="lineId">The id of the line to complete.</param>
 		/// <returns>The completed line.</returns>
-		public DrawnLine CompleteLine(Guid lineId)
+		public DrawnLine CompleteLine(string lineId)
 		{
 			if(!currentLines.ContainsKey(lineId))
 				throw new KeyNotFoundException("Error: A line with that id wasn't found in this LineIncubator.");
diff --git a/Nibriboard/Client/Messages/ErrorMessage.cs b/Nibriboard/Client/Messages/ErrorMessage.cs
new file mode 100644
index 0000000..e0cf190
--- /dev/null
+++ b/Nibriboard/Client/Messages/ErrorMessage.cs
@@ -0,0 +1,19 @@
+﻿using System;
+namespace Nibriboard.Client.Messages
+{
+	/// <summary>
+	/// Represents a complaint (usually by the server) about something that the other party
+	/// has done that probably shouldn't have.
+	/// </summary>
+	public class ErrorMessage
+	{
+		/// <summary>
+		/// The message describing the error that has occurred.
+		/// </summary>
+		string Message;
+
+		public ErrorMessage()
+		{
+		}
+	}
+}
diff --git a/Nibriboard/Client/Messages/LineCompleteMessage.cs b/Nibriboard/Client/Messages/LineCompleteMessage.cs
index 383f198..cd8f233 100644
--- a/Nibriboard/Client/Messages/LineCompleteMessage.cs
+++ b/Nibriboard/Client/Messages/LineCompleteMessage.cs
@@ -6,7 +6,7 @@ namespace Nibriboard.Client.Messages
 		/// <summary>
 		/// The id of the line to complete
 		/// </summary>
-		public Guid LineId;
+		public string LineId;
 		/// <summary>
 		/// The colour of the line. May be any valid colour accepted by the HTML5 Canvas API.
 		/// </summary>
diff --git a/Nibriboard/Client/Messages/LinePartMessage.cs b/Nibriboard/Client/Messages/LinePartMessage.cs
index e260dd3..a273dc6 100644
--- a/Nibriboard/Client/Messages/LinePartMessage.cs
+++ b/Nibriboard/Client/Messages/LinePartMessage.cs
@@ -14,7 +14,7 @@ namespace Nibriboard.Client.Messages
 		/// <summary>
 		/// The id of the line to add the points to.
 		/// </summary>
-		public Guid LineId;
+		public string LineId;
 		/// <summary>
 		/// The points to add to the line
 		/// </summary>
diff --git a/Nibriboard/Nibriboard.csproj b/Nibriboard/Nibriboard.csproj
index 9e6d05a..3ff7788 100644
--- a/Nibriboard/Nibriboard.csproj
+++ b/Nibriboard/Nibriboard.csproj
@@ -98,6 +98,7 @@
     <Compile Include="Client\Messages\LinePartMessage.cs" />
     <Compile Include="Client\LineIncubator.cs" />
     <Compile Include="Client\Messages\LineCompleteMessage.cs" />
+    <Compile Include="Client\Messages\ErrorMessage.cs" />
   </ItemGroup>
   <ItemGroup>
     <EmbeddedResource Include="ClientFiles\index.html" />
diff --git a/Nibriboard/RippleSpace/DrawnLine.cs b/Nibriboard/RippleSpace/DrawnLine.cs
index 5c2a5a5..f60cb3e 100644
--- a/Nibriboard/RippleSpace/DrawnLine.cs
+++ b/Nibriboard/RippleSpace/DrawnLine.cs
@@ -14,7 +14,7 @@ namespace Nibriboard.RippleSpace
 		/// drawn at once may also have the same id. This is such that a single
 		/// line that was split across multiple chunks can still be referenced.
 		/// </summary>
-		public readonly Guid LineId;
+		public readonly string LineId;
 
 		/// <summary>
 		/// The width of the line.
@@ -59,10 +59,10 @@ namespace Nibriboard.RippleSpace
 			}
 		}
 
-		public DrawnLine() : this(Guid.NewGuid())
+		public DrawnLine() : this(Guid.NewGuid().ToString("N"))
 		{
 		}
-		protected DrawnLine(Guid inLineId)
+		protected DrawnLine(string inLineId)
 		{
 			LineId = inLineId;
 		}
