Rearrange the API to allow instantiating and connecting separately. Options go in the connect method.