A comprehensive framework for building composite user interfaces