Supporting different orientation in viewcontrollers
What about implementing CoreViewController class which by default support 
landscape for iPad and portrait for iPhone. 
All your VCs inherit from it.
As a result VC1,VC2 and VC3 will have it by default and in VC4 override rotation methods to add support for landscape mode?