public void summon(KeyBinding binding, int key, boolean keyReleased, int screen) {
if (binding.getDelegate() == null && binding.getUniqueId() != null) { // Server-side
SpoutClient.getInstance().getPacketManager().sendSpoutPacket(new PacketKeyBinding(binding, key, !keyReleased, screen));
} else if (binding.getDelegate() != null) { // Client-side
KeyBindingPress event = new KeyBindingPress(org.spoutcraft.api.gui.Keyboard.getKey(key), binding, ScreenType.getType(screen));
if (!keyReleased) {
binding.getDelegate().onKeyPress(event);
} else {
binding.getDelegate().onKeyRelease(event);
}