SignedMetadata should implement Metadata
diff --git a/src/metadata.rs b/src/metadata.rs
index c241d26..c2b1edd 100644
--- a/src/metadata.rs
+++ b/src/metadata.rs
@@ -481,6 +481,22 @@
     }
 }
 
+impl<D, M> Metadata for SignedMetadata<D, M>
+where
+    D: Debug + PartialEq,
+    M: Metadata,
+{
+    const ROLE: Role = M::ROLE;
+
+    fn version(&self) -> u32 {
+        self.signed.version()
+    }
+
+    fn expires(&self) -> &DateTime<Utc> {
+        self.signed.expires()
+    }
+}
+
 /// Metadata for the root role.
 #[derive(Debug, Clone, PartialEq)]
 pub struct RootMetadata {