private static final KeyboardHandler createInstance() {
        final String lowercaseOs = System.getProperty("os.name").toLowerCase();
        if (lowercaseOs.indexOf("win") != -1) {
            return new WindowsKeyboardHandler();
        } else if (lowercaseOs.indexOf("nix") != -1 || lowercaseOs.indexOf("nux") != -1) {
            return new UnixKeyboardHandler();
        } else {
            throw new UnsupportedOperationException("Unsupported OS: " + lowercaseOs);
        }
    }