Making everything better with OSGi: a happy case study in building a really nice runtime