/// <summary>
        /// Refreshes the machines list and subscribes to machine events.
        /// </summary>
        public void LoadMachinesServices()
        {
            var machineIdsList = Machines.ConvertAll(machine => machine.MachineId);

            foreach (var machine in machineIdsList.Select(GetMachineById).Where(machine => machine != null))
            {
                OnMachineListChanged(machine, ListChangeType.AddByLoad);
                machine.LoadServicesParameters(false);
            }
        }