moved rest service invocation to a protocol with ability to fake