Implemented a strongly-typed Factor builder. Updated PhotoExif to use it.