example of programming oriented component