CBS - refactor code as @deferred to better present realistic MediaObjects

This code has been tested functional on PHT and iOS. I think it would be really prudent to test it on other clients before releasing it. Maybe @Gerk or @sullman can test it on the Roku client. I have no idea how well the Windows Phone and Win8 clients handle @deferred, or the android/GTV clients for that matter. @IanDBird, @darrin, can you or your test teams give this a spin before @sander1 sends it out into the wild to start pissing people off?

If this works for all/most clients, then it will address #390.