diff --git a/src/main/java/de/thm/arsnova/services/DefaultEntityServiceImpl.java b/src/main/java/de/thm/arsnova/services/DefaultEntityServiceImpl.java
index b4a1391f9276962f51a52b66485b20af4d940faf..2602578dd2800a983ea60cac5dea00a48c5fd510 100644
--- a/src/main/java/de/thm/arsnova/services/DefaultEntityServiceImpl.java
+++ b/src/main/java/de/thm/arsnova/services/DefaultEntityServiceImpl.java
@@ -69,9 +69,12 @@ public class DefaultEntityServiceImpl<T extends Entity> implements EntityService
 			throw new IllegalArgumentException("Entity is not new.");
 		}
 		entity.setCreationTimestamp(new Date());
+
 		prepareCreate(entity);
+		final T createdEntity = repository.save(entity);
+		finalizeCreate(entity);
 
-		return repository.save(entity);
+		return createdEntity;
 	}
 
 	/**
@@ -83,6 +86,15 @@ public class DefaultEntityServiceImpl<T extends Entity> implements EntityService
 
 	}
 
+	/**
+	 * This method can be overridden by subclasses to modify the entity after creation.
+	 *
+	 * @param entity The entity which has been created
+	 */
+	protected void finalizeCreate(final T entity) {
+
+	}
+
 	public T update(final T entity) {
 		return update(repository.findOne(entity.getId()), entity);
 	}
@@ -92,9 +104,12 @@ public class DefaultEntityServiceImpl<T extends Entity> implements EntityService
 	public T update(final T oldEntity, final T newEntity) {
 		newEntity.setId(oldEntity.getId());
 		newEntity.setUpdateTimestamp(new Date());
+
 		prepareUpdate(newEntity);
+		final T updatedEntity = repository.save(newEntity);
+		finalizeUpdate(updatedEntity);
 
-		return repository.save(newEntity);
+		return updatedEntity;
 	}
 
 	/**
@@ -106,6 +121,15 @@ public class DefaultEntityServiceImpl<T extends Entity> implements EntityService
 
 	}
 
+	/**
+	 * This method can be overridden by subclasses to modify the entity after updating.
+	 *
+	 * @param entity The entity which has been updated
+	 */
+	protected void finalizeUpdate(final T entity) {
+
+	}
+
 	@Override
 	public T patch(final T entity, final Map<String, Object> changes) throws IOException {
 		return patch(entity, changes, Function.identity());