avoid redundant info.plist reads

use a singleton so the file is only read once