Lets develop Remote Control API in java maintaining true Object Orientation. We'll make use of Design Patterns & Refactoring to achieve high degree of flexibility.