From a concept standpoint I would reccommend that you look at a "Open System" with respect communications/interfacing to offer maximum flexibility...