diff --git a/src/actions.rs b/src/actions.rs
index 2e69efe7ed015cbeccc84117136144a47d0a9cd2..b569886ae1941e0a3dd0f993a6794ac49d034588 100644
--- a/src/actions.rs
+++ b/src/actions.rs
@@ -112,7 +112,7 @@ impl StepsBuilder {
     /**
     Adds an action step. Order matters.
     */
-    pub fn step(&mut self, action_builder: impl ActionBuilder + 'static) -> &mut Self {
+    pub fn step(mut self, action_builder: impl ActionBuilder + 'static) -> Self {
         self.steps.push(Arc::new(action_builder));
         self
     }
diff --git a/src/lib.rs b/src/lib.rs
index d8067d73e4e6406028080f662c90fede55a4d1b0..5174ba63baa48a80ea3f9ec09700a1c3f6249b30 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -165,7 +165,7 @@ pub mod prelude {
     pub use super::BigBrainPlugin;
     pub use actions::{ActionBuilder, ActionState, Steps};
     pub use pickers::{FirstToScore, Picker};
-    pub use scorers::{AllOrNothing, FixedScore, Score, ScorerBuilder, SumOfScorers};
+    pub use scorers::{AllOrNothing, FixedScore, Score, ScorerBuilder, SumOfScorers, WinningScorer};
     pub use thinker::{Actor, Thinker, ThinkerBuilder};
 }
 
diff --git a/src/scorers.rs b/src/scorers.rs
index 17ab62ed352a813862cf78015be0d7ccf977441b..b49b02b6ea1f71c9029e287ab368a779db9209c8 100644
--- a/src/scorers.rs
+++ b/src/scorers.rs
@@ -163,7 +163,7 @@ impl AllOrNothingBuilder {
     /**
     Add another Scorer to this [`ScorerBuilder`].
      */
-    pub fn push(&mut self, scorer: impl ScorerBuilder + 'static) -> &mut Self {
+    pub fn push(mut self, scorer: impl ScorerBuilder + 'static) -> Self {
         self.scorers.push(Arc::new(scorer));
         self
     }
@@ -245,7 +245,7 @@ pub struct SumOfScorersBuilder {
 }
 
 impl SumOfScorersBuilder {
-    pub fn when(&mut self, scorer: impl ScorerBuilder + 'static) -> &mut Self {
+    pub fn push(mut self, scorer: impl ScorerBuilder + 'static) -> Self {
         self.scorers.push(Arc::new(scorer));
         self
     }
@@ -331,18 +331,11 @@ pub struct WinningScorerBuilder {
     scorers: Vec<Arc<dyn ScorerBuilder>>,
 }
 
-impl WinningScorerBuilder {
-    pub fn when(&mut self, scorer: impl ScorerBuilder + 'static) -> &mut Self {
-        self.scorers.push(Arc::new(scorer));
-        self
-    }
-}
-
 impl WinningScorerBuilder {
     /**
     Add another Scorer to this [`ScorerBuilder`].
      */
-    pub fn push(&mut self, scorer: impl ScorerBuilder + 'static) -> &mut Self {
+    pub fn push(mut self, scorer: impl ScorerBuilder + 'static) -> Self {
         self.scorers.push(Arc::new(scorer));
         self
     }