CoreAstro - a framework for building astronomical device drivers in Objective-C