JEN-33: implement APIFactory