diff --git a/include/rive/animation/linear_animation_instance.hpp b/include/rive/animation/linear_animation_instance.hpp
index 71b0218..4c02e0b 100644
--- a/include/rive/animation/linear_animation_instance.hpp
+++ b/include/rive/animation/linear_animation_instance.hpp
@@ -18,11 +18,6 @@
         bool m_DidLoop;
         int m_LoopValue = -1;
 
-    protected:
-        bool isTranslucent() const override;
-        bool advanceAndApply(float seconds) override;
-        std::string name() const override;
-
     public:
         LinearAnimationInstance(const LinearAnimation*, ArtboardInstance*);
 
@@ -80,6 +75,10 @@
         int loopValue() const;
         // Override the animation's default loop
         void loopValue(int value);
+
+        bool isTranslucent() const override;
+        bool advanceAndApply(float seconds) override;
+        std::string name() const override;
     };
 } // namespace rive
 #endif
\ No newline at end of file
diff --git a/include/rive/animation/state_machine_instance.hpp b/include/rive/animation/state_machine_instance.hpp
index 0506d23..6f47a50 100644
--- a/include/rive/animation/state_machine_instance.hpp
+++ b/include/rive/animation/state_machine_instance.hpp
@@ -40,15 +40,6 @@
         template <typename SMType, typename InstType>
         InstType* getNamedInput(const std::string& name) const;
 
-    protected:
-        float durationSeconds() const override { return -1; }
-        bool advanceAndApply(float secs) override;
-        Loop loop() const override { return Loop::oneShot; }
-        // For now play it safe -- unless we can inspect all of our
-        // possible states and animations...
-        bool isTranslucent() const override { return true; }
-        std::string name() const override;
-
     public:
         StateMachineInstance(const StateMachine* machine, ArtboardInstance* instance);
         ~StateMachineInstance() override;
@@ -81,9 +72,15 @@
         // the empty string.
         const LayerState* stateChangedByIndex(size_t index) const;
 
+        bool advanceAndApply(float secs) override;
+        std::string name() const override;
         void pointerMove(Vec2D position) override;
         void pointerDown(Vec2D position) override;
         void pointerUp(Vec2D position) override;
+
+        float durationSeconds() const override { return -1; }
+        Loop loop() const override { return Loop::oneShot; }
+        bool isTranslucent() const override { return true; }
     };
 } // namespace rive
 #endif
