diff --git a/openbis-ipad/Research/BisMac.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate b/openbis-ipad/Research/BisMac.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate
index 70bcb756bcfffa2b3abac7114c2cc4b1481b983c..b1e41eae3b8650ef66c22e2f3b5f8833a5802a2c 100644
Binary files a/openbis-ipad/Research/BisMac.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate and b/openbis-ipad/Research/BisMac.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/openbis-ipad/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate b/openbis-ipad/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate
index 35f28ec216f2c166b4a44d311abc0302462c7dda..e139308a42d3270d9551aa2226b60dde2d52f1c1 100644
Binary files a/openbis-ipad/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate and b/openbis-ipad/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/openbis-ipad/openBIS/openBIS/CISDOBAppDelegate.m b/openbis-ipad/openBIS/openBIS/CISDOBAppDelegate.m
index 14483242836bf0b7f494661ac697225f4587c4a5..76985a91aa813a6219eeefb65172183340033cc0 100644
--- a/openbis-ipad/openBIS/openBIS/CISDOBAppDelegate.m
+++ b/openbis-ipad/openBIS/openBIS/CISDOBAppDelegate.m
@@ -30,9 +30,6 @@
 
 @implementation CISDOBAppDelegate
 
-@synthesize managedObjectContext = _managedObjectContext;
-@synthesize managedObjectModel = _managedObjectModel;
-@synthesize persistentStoreCoordinator = _persistentStoreCoordinator;
 @synthesize rootOpenBisModel = _rootOpenBisModel;
 @synthesize serviceManager = _serviceManager;
 
@@ -121,50 +118,25 @@
 }
 
 #pragma mark - Core Data stack
-- (NSManagedObjectContext *)managedObjectContext
-{
-    if (_managedObjectContext != nil) {
-        return _managedObjectContext;
-    }
-    
-    NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
-    if (coordinator != nil) {
-        _managedObjectContext = [[NSManagedObjectContext alloc] init];
-        [_managedObjectContext setPersistentStoreCoordinator:coordinator];
-    }
-    return _managedObjectContext;
-}
+- (NSManagedObjectContext *)managedObjectContext { return self.serviceManager.managedObjectContext; }
 
-- (NSManagedObjectModel *)managedObjectModel
-{
-    if (_managedObjectModel != nil) {
-        return _managedObjectModel;
-    }
-    NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"persistent-data-model" withExtension:@"momd"];
-    _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
-    return _managedObjectModel;
-}
+- (NSManagedObjectModel *)managedObjectModel { return self.serviceManager.managedObjectModel; }
+
+- (NSPersistentStoreCoordinator *)persistentStoreCoordinator { return self.serviceManager.persistentStoreCoordinator; }
 
-- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
+- (CISDOBIpadServiceManager *)serviceManager
 {
-    if (_persistentStoreCoordinator != nil) {
-        return _persistentStoreCoordinator;
-    }
+    if (_serviceManager) return _serviceManager;
     
-    // TODO Eventually, we will want to retrieve the data from the server and store it in the documents directory. For UI prototyping, however, we use a pre-computed database.
-//    NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"openBISData.sqlite"];
-    NSURL *storeURL = [[NSBundle mainBundle] URLForResource: @"openBISData" withExtension: @"sqlite"];
+    NSURL *storeUrl = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"openBISData.sqlite"];
+    NSURL *openbisUrl = [NSURL URLWithString: @"https://localhost:8443"];
     
-    NSError *error = nil;
-    _persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
-    NSDictionary *optionsDict = [NSDictionary dictionaryWithObject: [NSNumber numberWithBool: YES] forKey: NSReadOnlyPersistentStoreOption];
-    if (![_persistentStoreCoordinator addPersistentStoreWithType: NSSQLiteStoreType configuration: nil URL: storeURL options: optionsDict error: &error]) {
-        // TODO Implement error handling
-        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
-        abort();
-    }    
+    NSError *error;
+    _serviceManager =
+        [[CISDOBIpadServiceManager alloc]
+            initWithStoreUrl: storeUrl openbisUrl: openbisUrl trusted: YES error: &error];
     
-    return _persistentStoreCoordinator;
+    return _serviceManager;
 }
 
 - (CISDOBOpenBisModel *)rootOpenBisModel
@@ -178,20 +150,6 @@
     return _rootOpenBisModel;
 }
 
-- (CISDOBIpadServiceManager *)serviceManager
-{
-    if (_serviceManager) return _serviceManager;
-    
-    NSURL *storeUrl = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"openBISData.sqlite"];
-    NSURL *openbisUrl = [NSURL URLWithString: @"https://localhost:8443"];
-    
-    NSError *error;
-    _serviceManager =
-        [[CISDOBIpadServiceManager alloc]
-            initWithStoreUrl: storeUrl openbisUrl: openbisUrl trusted: YES error: &error];
-    
-    return _serviceManager;
-}
 
 #pragma mark - Application's Documents directory