Plugin framework for user interface components