@JustSteveKing Chained is nice when it's a lot of cruddy requests. Google's sdk does this a lot. When it's not setup for Crud then I prefer the concrete classes for better IDE support.
@simonhamp Not to give you way more work to do but it might be worth wrapping that in a Device class.
That way Device::vibrate() would figure out the platform and run the appropriate iOS::vibrate() or Android::vibrate()