Pull suspend logic into the platform module.

Fixed #110.