A Java API supporting module-based software architecture