/// <summary>
        /// Start Unit of Work specifying IPersistenceManager
        /// </summary>
        /// <param name="manager">IPersistenceManager</param>
        /// <returns></returns>
        public static IUnitOfWork Start(IPersistenceManager manager)
        {
            if (IsStarted)
                throw new InvalidOperationException("Unit of Work is already started.");

            IUnitOfWork unitOfWork = manager.CreateUnitOfWork();

            LocalUnitOfWork = unitOfWork;

            return unitOfWork;
        }