refactor clients with NeuronClient and add partition dict/monitor