Index: /pom.xml
===================================================================
--- /pom.xml	(revision 6)
+++ /pom.xml	(revision 7)
@@ -6,5 +6,5 @@
 	<artifactId>profilesserver</artifactId>
 	<packaging>war</packaging>
-	<version>1.0.0</version>
+	<version>1.1.0</version>
 	<name>profileserver Maven Webapp</name>
 	<url>http://maven.apache.org</url>
@@ -16,6 +16,6 @@
 		<basedir>.</basedir>
 		<passwd>${env.ARTIFACTORY_PASS}</passwd>
-		<jackson-2-version>2.9.6</jackson-2-version>
-		<tomcat.version>8.0.53</tomcat.version>
+		<jackson-2-version>2.9.10</jackson-2-version>
+		<tomcat.version>8.5.20</tomcat.version>
 	</properties>
 
@@ -48,4 +48,146 @@
 	<dependencies>
 		<dependency>
+			<groupId>geniusweb</groupId>
+			<artifactId>profile</artifactId>
+			<version>1.1.0</version>
+		</dependency>
+
+		<dependency>
+			<groupId>tudelft.utilities</groupId>
+			<artifactId>listener</artifactId>
+			<version>1.1.0</version>
+		</dependency>
+
+		<dependency>
+			<groupId>tudelft.utilities</groupId>
+			<artifactId>tree</artifactId>
+			<version>1.0.0</version>
+		</dependency>
+
+		<dependency>
+			<groupId>tudelft.utilities</groupId>
+			<artifactId>junit</artifactId>
+			<version>1.0.2</version>
+		</dependency>
+
+		<dependency>
+			<groupId>tudelft.utilities</groupId>
+			<artifactId>logging</artifactId>
+			<version>1.0.0</version>
+		</dependency>
+		<dependency>
+			<groupId>tudelft.utilities</groupId>
+			<artifactId>files</artifactId>
+			<version>1.0.0</version>
+		</dependency>
+
+
+		<dependency>
+			<groupId>javax.websocket</groupId>
+			<artifactId>javax.websocket-api</artifactId>
+			<version>1.1</version>
+		</dependency>
+
+		<!-- the core, which includes Streaming API, shared low-level abstractions 
+			(but NOT data-binding) -->
+		<dependency>
+			<groupId>com.fasterxml.jackson.core</groupId>
+			<artifactId>jackson-core</artifactId>
+			<version>${jackson-2-version}</version>
+		</dependency>
+
+		<!-- Just the annotations; use this dependency if you want to attach annotations 
+			to classes without connecting them to the code. -->
+		<dependency>
+			<groupId>com.fasterxml.jackson.core</groupId>
+			<artifactId>jackson-annotations</artifactId>
+			<version>${jackson-2-version}</version>
+		</dependency>
+
+		<!-- databinding; ObjectMapper, JsonNode and related classes are here -->
+		<dependency>
+			<groupId>com.fasterxml.jackson.core</groupId>
+			<artifactId>jackson-databind</artifactId>
+			<version>${jackson-2-version}</version>
+		</dependency>
+
+		<!-- smile (binary JSON). Other artifacts in this group do other formats. -->
+		<dependency>
+			<groupId>com.fasterxml.jackson.dataformat</groupId>
+			<artifactId>jackson-dataformat-smile</artifactId>
+			<version>${jackson-2-version}</version>
+		</dependency>
+		<!-- JAX-RS provider -->
+		<dependency>
+			<groupId>com.fasterxml.jackson.jaxrs</groupId>
+			<artifactId>jackson-jaxrs-json-provider</artifactId>
+			<version>${jackson-2-version}</version>
+		</dependency>
+		<!-- Support for JAX-B annotations as additional configuration -->
+		<dependency>
+			<groupId>com.fasterxml.jackson.module</groupId>
+			<artifactId>jackson-module-jaxb-annotations</artifactId>
+			<version>${jackson-2-version}</version>
+		</dependency>
+
+		<!-- embedded-tomcat for testing the server -->
+		<dependency>
+			<groupId>org.apache.tomcat.embed</groupId>
+			<artifactId>tomcat-embed-core</artifactId>
+			<version>${tomcat.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tomcat.embed</groupId>
+			<artifactId>tomcat-embed-jasper</artifactId>
+			<version>${tomcat.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tomcat</groupId>
+			<artifactId>tomcat-jasper</artifactId>
+			<version>${tomcat.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tomcat</groupId>
+			<artifactId>tomcat-jasper-el</artifactId>
+			<version>${tomcat.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tomcat</groupId>
+			<artifactId>tomcat-jsp-api</artifactId>
+			<version>${tomcat.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>com.neovisionaries</groupId>
+			<artifactId>nv-websocket-client</artifactId>
+			<version>2.6</version>
+			<scope>test</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.tomcat.embed</groupId>
+			<artifactId>tomcat-embed-core</artifactId>
+			<version>${tomcat.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tomcat</groupId>
+			<artifactId>tomcat-websocket</artifactId>
+			<version>${tomcat.version}</version>
+			<scope>test</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>org.python</groupId>
+			<artifactId>jython-standalone</artifactId>
+			<version>2.7.0</version>
+			<scope>test</scope>
+		</dependency>
+		
+		<dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
@@ -54,149 +196,7 @@
 		</dependency>
 		<dependency>
-			<groupId>tudelft.utilities</groupId>
-			<artifactId>logging</artifactId>
-			<version>1.0.0</version>
-		</dependency>
-		<dependency>
-			<groupId>tudelft.utilities</groupId>
-			<artifactId>files</artifactId>
-			<version>1.0.0</version>
-		</dependency>
-
-		<dependency>
 			<groupId>org.mockito</groupId>
 			<artifactId>mockito-all</artifactId>
 			<version>1.9.5</version>
-			<scope>test</scope>
-		</dependency>
-
-
-		<dependency>
-			<groupId>geniusweb</groupId>
-			<artifactId>profile</artifactId>
-			<version>1.0.0</version>
-		</dependency>
-
-		<dependency>
-			<groupId>tudelft.utilities</groupId>
-			<artifactId>listener</artifactId>
-			<version>1.0.0</version>
-		</dependency>
-
-		<dependency>
-			<groupId>tudelft.utilities</groupId>
-			<artifactId>tree</artifactId>
-			<version>1.0.0</version>
-		</dependency>
-
-		<dependency>
-			<groupId>tudelft.utilities</groupId>
-			<artifactId>junit</artifactId>
-			<version>1.0.1</version>
-		</dependency>
-
-		<dependency>
-			<groupId>javax.websocket</groupId>
-			<artifactId>javax.websocket-api</artifactId>
-			<version>1.1</version>
-		</dependency>
-
-		<!-- the core, which includes Streaming API, shared low-level abstractions 
-			(but NOT data-binding) -->
-		<dependency>
-			<groupId>com.fasterxml.jackson.core</groupId>
-			<artifactId>jackson-core</artifactId>
-			<version>${jackson-2-version}</version>
-		</dependency>
-
-		<!-- Just the annotations; use this dependency if you want to attach annotations 
-			to classes without connecting them to the code. -->
-		<dependency>
-			<groupId>com.fasterxml.jackson.core</groupId>
-			<artifactId>jackson-annotations</artifactId>
-			<version>${jackson-2-version}</version>
-		</dependency>
-
-		<!-- databinding; ObjectMapper, JsonNode and related classes are here -->
-		<dependency>
-			<groupId>com.fasterxml.jackson.core</groupId>
-			<artifactId>jackson-databind</artifactId>
-			<version>${jackson-2-version}</version>
-		</dependency>
-
-		<!-- smile (binary JSON). Other artifacts in this group do other formats. -->
-		<dependency>
-			<groupId>com.fasterxml.jackson.dataformat</groupId>
-			<artifactId>jackson-dataformat-smile</artifactId>
-			<version>${jackson-2-version}</version>
-		</dependency>
-		<!-- JAX-RS provider -->
-		<dependency>
-			<groupId>com.fasterxml.jackson.jaxrs</groupId>
-			<artifactId>jackson-jaxrs-json-provider</artifactId>
-			<version>${jackson-2-version}</version>
-		</dependency>
-		<!-- Support for JAX-B annotations as additional configuration -->
-		<dependency>
-			<groupId>com.fasterxml.jackson.module</groupId>
-			<artifactId>jackson-module-jaxb-annotations</artifactId>
-			<version>${jackson-2-version}</version>
-		</dependency>
-
-		<!-- embedded-tomcat for testing the server -->
-		<dependency>
-			<groupId>org.apache.tomcat.embed</groupId>
-			<artifactId>tomcat-embed-core</artifactId>
-			<version>${tomcat.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.tomcat.embed</groupId>
-			<artifactId>tomcat-embed-jasper</artifactId>
-			<version>${tomcat.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.tomcat</groupId>
-			<artifactId>tomcat-jasper</artifactId>
-			<version>${tomcat.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.tomcat</groupId>
-			<artifactId>tomcat-jasper-el</artifactId>
-			<version>${tomcat.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.tomcat</groupId>
-			<artifactId>tomcat-jsp-api</artifactId>
-			<version>${tomcat.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>com.neovisionaries</groupId>
-			<artifactId>nv-websocket-client</artifactId>
-			<version>2.6</version>
-			<scope>test</scope>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.tomcat.embed</groupId>
-			<artifactId>tomcat-embed-core</artifactId>
-			<version>8.5.20</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.tomcat</groupId>
-			<artifactId>tomcat-websocket</artifactId>
-			<version>8.5.20</version>
-			<scope>test</scope>
-		</dependency>
-
-		<dependency>
-			<groupId>org.python</groupId>
-			<artifactId>jython-standalone</artifactId>
-			<version>2.7.0</version>
 			<scope>test</scope>
 		</dependency>
@@ -237,4 +237,22 @@
 							</resources>
 						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-enforcer-plugin</artifactId>
+				<version>3.0.0-M2</version>
+				<executions>
+					<execution>
+						<id>enforce</id>
+						<configuration>
+							<rules>
+								<dependencyConvergence />
+							</rules>
+						</configuration>
+						<goals>
+							<goal>enforce</goal>
+						</goals>
 					</execution>
 				</executions>
Index: /src/main/java/geniusweb/profilesserver/DefaultProfilesFactory.java
===================================================================
--- /src/main/java/geniusweb/profilesserver/DefaultProfilesFactory.java	(revision 6)
+++ /src/main/java/geniusweb/profilesserver/DefaultProfilesFactory.java	(revision 7)
@@ -110,5 +110,5 @@
 			available.put(domain, new LinkedList<>());
 		}
-		notifyChange(new DomainChangeEvent(null, domain));
+		notifyListeners(new DomainChangeEvent(null, domain));
 	}
 
@@ -130,7 +130,7 @@
 
 		for (Profile prof : removedprofiles) {
-			notifyChange(new ProfileChangeEvent(prof, null));
-		}
-		notifyChange(new DomainChangeEvent(domain, null));
+			notifyListeners(new ProfileChangeEvent(prof, null));
+		}
+		notifyListeners(new DomainChangeEvent(domain, null));
 	}
 
@@ -166,5 +166,5 @@
 			profiles.add(profile);
 		}
-		notifyChange(new ProfileChangeEvent(oldprofile, profile));
+		notifyListeners(new ProfileChangeEvent(oldprofile, profile));
 
 	}
@@ -188,5 +188,5 @@
 			profilelist.remove(profile);
 		}
-		notifyChange(new ProfileChangeEvent(profile, null));
+		notifyListeners(new ProfileChangeEvent(profile, null));
 
 	}
Index: /src/main/webapp/domainsrepo/party/party1partial.json
===================================================================
--- /src/main/webapp/domainsrepo/party/party1partial.json	(revision 7)
+++ /src/main/webapp/domainsrepo/party/party1partial.json	(revision 7)
@@ -0,0 +1,154 @@
+{
+	"SumOfGroupsUtilitySpace": {
+		"domain": {
+			"name": "party",
+			"issuesValues": {
+				"Invitations": {
+					"values": ["Plain", "Photo", "Custom, Handmade", "Custom, Printed"]
+				},
+				"Music": {
+					"values": ["MP3", "DJ", "Band"]
+				},
+				"Drinks": {
+					"values": ["Non-Alcoholic", "Beer Only", "Handmade Cocktails", "Catering"]
+				},
+				"Cleanup": {
+					"values": ["Water and Soap", "Specialized Materials", "Special Equiment", "Hired Help"]
+				},
+				"Food": {
+					"values": ["Chips and Nuts", "Finger-Food", "Handmade Food", "Catering"]
+				},
+				"Location": {
+					"values": ["Party Tent", "Your Dorm", "Party Room", "Ballroom"]
+				}
+			}
+		},
+		"name": "party1partial",
+		"partUtilities": {
+			"food&drinks": {
+				"partsutils": {
+					"issues": ["Drinks", "Food"],
+					"utilslist": [{
+						"values": ["Catering", "Chips and Nuts"],
+						"util": 0.13602
+					}, {
+						"values": ["Catering", "Catering"],
+						"util": 0.4169
+					}, {
+						"values": ["Catering", "Finger-Food"],
+						"util": 0.19232
+					}, {
+						"values": ["Handmade Cocktails", "Finger-Food"],
+						"util": 0.28696
+					}, {
+						"values": ["Handmade Cocktails", "Chips and Nuts"],
+						"util": 0.23066
+					}, {
+						"values": ["Handmade Cocktails", "Catering"],
+						"util": 0.38566
+					}, {
+						"values": ["Non-Alcoholic", "Chips and Nuts"],
+						"util": 0.21614
+					}, {
+						"values": ["Beer Only", "Handmade Food"],
+						"util": 0.2713
+					}, {
+						"values": ["Handmade Cocktails", "Handmade Food"],
+						"util": 0.38506
+					}, {
+						"values": ["Beer Only", "Finger-Food"],
+						"util": 0.3732
+					}, {
+						"values": ["Beer Only", "Chips and Nuts"],
+						"util": 0.2169
+					}, {
+						"values": ["Non-Alcoholic", "Handmade Food"],
+						"util": 0.17054
+					}, {
+						"values": ["Beer Only", "Catering"],
+						"util": 0.1219
+					}, {
+						"values": ["Non-Alcoholic", "Catering"],
+						"util": 0.12114
+					}, {
+						"values": ["Non-Alcoholic", "Finger-Food"],
+						"util": 0.17244
+					}, {
+						"values": ["Catering", "Handmade Food"],
+						"util": 0.39042
+					}]
+				}
+			},
+			"Invitations": {
+				"partsutils": {
+					"issues": ["Invitations"],
+					"utilslist": [{
+						"values": ["Custom, Handmade"],
+						"util": 0.05
+					}, {
+						"values": ["Custom, Printed"],
+						"util": 0.0240
+					}, {
+						"values": ["Photo"],
+						"util": 0.0370
+					}, {
+						"values": ["Plain"],
+						"util": 0.0120
+					}]
+				}
+			},
+			"Cleanup": {
+				"partsutils": {
+					"issues": ["Cleanup"],
+					"utilslist": [{
+						"values": ["Hired Help"],
+						"util": 0.0310
+					}, {
+						"values": ["Special Equiment"],
+						"util": 0.0320
+					}, {
+						"values": ["Water and Soap"],
+						"util": 0.0650
+					}, {
+						"values": ["Specialized Materials"],
+						"util": 0.0960
+					}]
+				}
+			},
+			"Music": {
+				"partsutils": {
+					"issues": ["Music"],
+					"utilslist": [{
+						"values": ["DJ"],
+						"util": 0.1881
+					}, {
+						"values": ["MP3"],
+						"util": 0.1235
+					}, {
+						"values": ["Band"],
+						"util": 0.0665
+					}]
+				}
+			},
+			"Location": {
+				"partsutils": {
+					"issues": ["Location"],
+					"utilslist": [{
+						"values": ["Party Tent"],
+						"util": 0.0988
+					}, {
+						"values": ["Your Dorm"],
+						"util": 0.0437
+					}, {
+						"values": ["Ballroom"],
+						"util": 0.1463
+					}, {
+						"values": ["Party Room"],
+						"util": 0.1881
+					}]
+				}
+			}
+		},
+		"reservationbid": null
+	}
+}
