 	static var sharedInstance: MobileMessaging?
 	let userNotificationType: UserNotificationType
 	let applicationCode: String
+	var doRegisterToApns: Bool = true
 	
 	var storageType: MMStorageType = .SQLite
 	let remoteAPIBaseURL: String

		
		// just to break retain cycles:
		installationQueue.cancelAllOperations()
		appListener = nil
		currentInstallation = nil
		currentUser = nil

		return self
	}
	
	/// Fabric method for Mobile Messaging session.
	/// It is possible to postpone the registration for Push Notifications. It is up to you to define when and where the user will be promt to allow receiving Push Notifications. By default the registration is being performed by `MobileMessaging.start()` call.
	/// - remark: Don't forget to register for Push Notifications explicitly by calling `MobileMessaging.registerForRemoteNotifications()`.
	public func withoutRegisteringForRemoteNotifications() -> MobileMessaging {
		doRegisterToApns = false
		return self
	}
	
	/// Starts a new Mobile Messaging session.
	///
	/// This method should be called form AppDelegate's `application(_:didFinishLaunchingWithOptions:)` callback.
	/// - remark: For now, Mobile Messaging SDK doesn't support Badge. You should handle the badge counter by yourself.
	public func start(_ completion: (() -> Void)? = nil) {
		start(doRegisterToApns: doRegisterToApns, completion)
	}
	
	/// Syncronizes all available subservices with the server.
