 
 struct StoryView_Previews: PreviewProvider {
     static var previews: some View {
-        makeColorStoryView()
-    }
-
-    private static func makeColorStoryView() -> some View {
         struct Colorful: Identifiable {
             let id: Int
             let color: Color
         }
 
-        let pages = [Colorful(id: 1, color: .green), Colorful(id: 2, color: .blue), Colorful(id: 3, color: .purple)]
+        let pages = [
+            Colorful(id: 1, color: .green),
+            Colorful(id: 2, color: .blue),
+            Colorful(id: 3, color: .purple)
+        ]
 
         return StoryView(cycle: .once, pages: pages) { page in
-            ZStack {
-                page.color
-                VStack {
-                    Text("Page")
-                    Text("#")
-                        .baselineOffset(70)
-                        .font(.system(size: 100)) +
-                        Text("\(page.id)")
-                        .font(.system(size: 200))
-                }
+            VStack {
+                Text("Page")
+                Text("#")
+                    .baselineOffset(70)
+                    .font(.system(size: 100)) +
+                    Text("\(page.id)")
+                    .font(.system(size: 200))
             }
-        }.onCycleComplete { count in
+            .frame(maxWidth: .infinity, maxHeight: .infinity)
+        } background: { page in
+            page.color
+        }
+        .onCycleComplete { count in
             print(count)
         }
     }

    ///
    /// - Parameter callback: The block to execute with a parameter indicating
    ///   remaining number of cycles.
    public func onCycleComplete(_ callback: @escaping (_ remainingCycles: Count) -> Void) -> Self {
        storyTimer.onCycleComplete = callback
        return self
    }

                // Content
                content(pages[Int(storyTimer.progress)])
                    .frame(width: width)

                // Progress Indicator
                progressIndicator
