As Platform is appearing in a number of places why not have in in core.
Merge pull request #85 from alistair/generic_platform_support

As Platform is appearing in a number of places why not have in in core.