|  | # Modularity: Internal Interfaces |

- there are several well separated sub-systems (heap management/GC, threading, JIT, graphics support, ..)

- there are numerous different target systems and application requirements (Smartcard to server, graphical / textual app, browser context / stand-alone, ..)

- there is NO silver bullet - to serve them all (optimal) with the same subsystems

- there IS a strong need to make them configurable (pick the right subsystems for the right problem)

- Kaffe uses several types of interfaces