Extract Context as an abstract base class
Let DataContext extend from it
TODO: More tests