Refactor WebClient to remove dependency on serializer. Add Transaction Unit Tests