Towards a Modular Denotational Semantics of Java