ref #15 hide impl of platform specific context handles