Refactored the Infoflow class and the IInfoflow interface to use an abstract base class