Extension helper and metadata are now different objects, so the first needs be retrieved from ExtensionUtils. Also, reduce the number of required arguments (by using the new metadata keys) and make generic enough for usage by other extensions. Includes documentation.