adding harrepo classes, cleaning up polling agent by extracting harrepo code, added listener status enum