ProcessorNetworkEvaluator::ProcessorNetworkEvaluator(ProcessorNetwork* processorNetwork)
    : processorNetwork_(processorNetwork)
    , evaulationQueued_(false)
    , evaluationDisabled_(false)
    , exceptionHandler_(StandardExceptionHandler()) {
    
    processorNetwork_->addObserver(this);
}
ProcessorNetworkEvaluator::ProcessorNetworkEvaluator(ProcessorNetwork* processorNetwork)
    : processorNetwork_(processorNetwork)
    , evaulationQueued_(false)
    , evaluationDisabled_(false)
    , exceptionHandler_(StandardExceptionHandler()) {
    ivwAssert(
        processorNetworkEvaluators_.find(processorNetwork) == processorNetworkEvaluators_.end(),
        "A ProcessorNetworkEvaluator for the given ProcessorNetwork is already created");

    processorNetworkEvaluators_[processorNetwork] = this;
    processorNetwork_->addObserver(this);
}