Multi-platform abstraction layer