Introducing something to let the user manage finely the data context really worth the efforts. Nevertheless, I think a simplest API, based on global singletons should be kept.
This is clearly a really use case for Orekit: letting user to quickly write a piece of code to solve one problem. In such context, dealing with complex initialization and huge context object to bring from call to call is not the expected deal.
Ideally, a rewrite must create two API : a simple one and a powerfull one. libcurl has such dual API called easy and multi.
Eventually the begining of the modularization of Orekit?