Deciding which of thesefunctions to use, abstract or ignore exposes you (as a developer) to all sorts of reach, performance and support complexity challenges and tradeoffs.
It has been suggested that the smartphone could possibly render alarm clocks and point-and-shoot digital cameras obsolete, as people use the alarm clock functions on their phones more frequently and the cameras in these devices continue to improve.