Added a facade to encapsulate all Win32 mess