Refactory ResultMonitor to closer reflect FactoryDesignPattern.