diff --git a/SabreTools.Serialization/Interfaces/IWrapper.cs b/SabreTools.Serialization/Interfaces/IWrapper.cs
index 5985746e..dc2b9edf 100644
--- a/SabreTools.Serialization/Interfaces/IWrapper.cs
+++ b/SabreTools.Serialization/Interfaces/IWrapper.cs
@@ -1,11 +1,20 @@
namespace SabreTools.Serialization.Interfaces
{
- public interface IWrapper
+ ///
+ /// Represents a wrapper around a top-level model
+ ///
+ /// Top-level model for the wrapper
+ public interface IWrapper
{
///
/// Get a human-readable description of the wrapper
///
string Description();
+
+ ///
+ /// Get the backing model
+ ///
+ TModel GetModel();
#if !NETFRAMEWORK
///
diff --git a/SabreTools.Serialization/Wrappers/WrapperBase.cs b/SabreTools.Serialization/Wrappers/WrapperBase.cs
index 7ab54896..4805c188 100644
--- a/SabreTools.Serialization/Wrappers/WrapperBase.cs
+++ b/SabreTools.Serialization/Wrappers/WrapperBase.cs
@@ -8,7 +8,7 @@ using SabreTools.Serialization.Interfaces;
namespace SabreTools.Serialization.Wrappers
{
- public abstract class WrapperBase : IWrapper
+ public abstract class WrapperBase : IWrapper
{
#region Descriptive Properties
@@ -24,6 +24,9 @@ namespace SabreTools.Serialization.Wrappers
#region Properties
+ ///
+ public T GetModel() => Model;
+
///
/// Internal model
///