major cleanup and refactoring

added JsonFormatters to allow customization of the fowarded IPN data

Signed-off-by: Blessing Osakue <iyoworks@gmail.com>