diff --git a/VERSION b/VERSION
index 781dcb0..65087b4 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.1.3
+1.1.4
diff --git a/xos/synchronizer/models/simpleexampleservice.xproto b/xos/synchronizer/models/simpleexampleservice.xproto
index c3fdba7..1fe1420 100644
--- a/xos/synchronizer/models/simpleexampleservice.xproto
+++ b/xos/synchronizer/models/simpleexampleservice.xproto
@@ -3,34 +3,102 @@
 
 message SimpleExampleService (Service){
     option verbose_name = "Simple Example Service";
-    required string service_message = 1 [help_text = "Service Message to Display", max_length = 254, null = False, db_index = False, blank = False];
-    optional string service_secret = 2 [help_text = "Service Secret to place in a file", null = False, db_index = False, blank = True];
+    option description = "Service that demonstrates integration with Kubernetes compute resources";
+
+    required string service_message = 1 [
+        help_text = "Service Message to display in web page",
+        blank = False,
+        db_index = False,
+        max_length = 254,
+        null = False];
+    optional string service_secret = 2 [
+        help_text = "Service Secret to place in a file",
+        blank = True,
+        db_index = False,
+        null = False];
 }
 
+// Note: Named ColorNew to prevent name collision with ExampleService's Color.
+
 message ColorNew (XOSBase){
      option verbose_name = "Color";
-     required string name = 1 [help_text = "Name for this color", db_index = False, max_length = 256, null = False, blank = False];
-     required string html_code = 2 [help_text = "Code for this color", db_index = False, max_length = 256, null = False, blank = False];
+     option description = "An html color code that may be used to color a web page";
+
+     required string name = 1 [
+         help_text = "Name for this color",
+         blank = False,
+         db_index = False,
+         max_length = 256,
+         null = False];
+     required string html_code = 2 [
+         help_text = "HTML Code for this color",
+         blank = False,
+         db_index = False,
+         max_length = 256,
+         null = False];
 }
 
 // Note: Named ServiceInstanceWithCompute2 to prevent name collision with ExampleService.ServiceInstanceWithCompute.
 //       Expect this model to eventually move to the core.
 
 message ServiceInstanceWithCompute2 (ServiceInstance) {
-    optional manytoone compute_instance->ComputeServiceInstance:service_instance_with_computes = 1:1001 [db_index=True, null=True, blank=True];
+    option description = "ServiceInstance with relation to a ComputeServiceInstance";
+
+    optional manytoone compute_instance->ComputeServiceInstance:service_instance_with_computes = 1:1001 [
+        help_text = "ComputeServiceInstance that holds compute resources for this ServiceInstance",
+        blank=True,
+        db_index=True,
+        null=True];
 }
 
 message SimpleExampleServiceInstance (ServiceInstanceWithCompute2){
      option verbose_name = "Example Service Instance";
-     required string tenant_message = 1 [help_text = "Tenant Message to Display", max_length = 254, null = False, db_index = False, blank = False];
-     optional manytoone foreground_color->ColorNew:serviceinstance_foreground_colors = 2:1001 [db_index = True, null = True, blank = True];
-     optional manytoone background_color->ColorNew:serviceinstance_background_colors = 3:1002 [db_index = True, null = True, blank = True];
-     optional string tenant_secret = 4 [help_text = "Tenant Secret to place in a file", null = False, db_index = False, blank = True];
+     option description = "Tenancy in SimpleExampleService, represents a web server that serves one page";
+
+     required string tenant_message = 1 [
+         help_text = "Tenant Message to Display",
+         blank = False,
+         db_index = False,
+         max_length = 254,
+         null = False];
+     optional manytoone foreground_color->ColorNew:serviceinstance_foreground_colors = 2:1001 [
+         help_text = "Foreground color to use in web page",
+         db_index = True,
+         null = True,
+         blank = True];
+     optional manytoone background_color->ColorNew:serviceinstance_background_colors = 3:1002 [
+         help_text = "Background color to use in web page",
+         blank = True,
+         db_index = True,
+         null = True];
+     optional string tenant_secret = 4 [
+         help_text = "Tenant Secret to place in a file",
+         blank = True,
+         db_index = False,
+         null = False];
 }
 
+// Note: Named EmbeddedImageNew to prevent name collision with ExampleService's EmbeddedImage.
+
 message EmbeddedImageNew (XOSBase){
      option verbose_name = "Embedded Image";
-     required string name = 1 [help_text = "Name for this image", db_index = False, max_length = 256, null = False, blank = False];
-     required string url = 2 [help_text = "URL for this image", db_index = False, max_length = 256, null = False, blank = False];
-     optional manytoone serviceinstance->SimpleExampleServiceInstance:embedded_images = 3:1001 [db_index = True, null = True, blank = True];
+     option description = "An embedded image that may be placed in a web page";
+
+     required string name = 1 [
+         help_text = "Name for this image",
+         blank = False,
+         db_index = False,
+         max_length = 256,
+         null = False];
+     required string url = 2 [
+         help_text = "URL for this image",
+         blank = False,
+         db_index = False,
+         max_length = 256,
+         null = False];
+     optional manytoone serviceinstance->SimpleExampleServiceInstance:embedded_images = 3:1001 [
+         help_text = "ServiceInstance that represents the web page where this embedded image should be placed",
+         blank = True,
+         db_index = True,
+         null = True];
 }
