Use NATSClient interface

To make this reusable, its better to use the NATSClient rather than the struct.