public RemoteProcessService(
            IRemoteProcessQueryService remoteProcessQueryService, RemoteProcessFactory remoteProcessFactory)
        {
            Contract.Requires <ArgumentNullException>(remoteProcessQueryService != null);
            Contract.Requires <ArgumentNullException>(remoteProcessFactory != null);

            this.remoteProcessQueryService = remoteProcessQueryService;
            this.remoteProcessFactory      = remoteProcessFactory;

            this.remoteProcesses = new BindableCollection <IRemoteProcess>();
        }
        public RemoteProcessCreatedEventHandler(
            IRemoteProcessService remoteProcessService,
            RemoteProcessFactory remoteProcessFactory,
            IRemoteProcessQueryService remoteProcessQueryService)
        {
            Contract.Requires <ArgumentNullException>(remoteProcessService != null);
            Contract.Requires <ArgumentNullException>(remoteProcessFactory != null);
            Contract.Requires <ArgumentNullException>(remoteProcessQueryService != null);

            this.remoteProcessService      = remoteProcessService;
            this.remoteProcessFactory      = remoteProcessFactory;
            this.remoteProcessQueryService = remoteProcessQueryService;
        }