Added severity levels and abstraction of listeners and notifiers. Added file logging capabilities to the logger.