Add in enum for source to replace doSignal flag. Add in istream & ostream operatros to use with boost::lexical_cast