Simplified creating objectives using what's already available in the game.
There are no localization methods to patch for objectives; they've done it all in a switch statement calling LocalizationManager directly. Postfixed the result had the same effect.
ObjectiveKey must be visible to ensure that created objectives are tracked against the correct plugins when they make a new objective (required parameter in the constructor).
Works fine in limited testing. Still need to test adding multiple different objectives.
Still to do:
Add bool property to allow the author to specify if they want the item to be spawnable from offering shrines