Made Int into interface + factory method, the rest private