Add fromHex() factory method