So all the update methods for the game objects, which you've called play, need to take in a time variable, usually milliseconds since last frame so it would look like 

```scala
def play(millis: Int) {
  scenes.foreach( scene => scene.play(millis) )
}
```

we should actually enforce this by making a trait Playable that requires objects to have a play(millis: Int) and this trait will be inherited by all objects that get updated by the main Game Loop

```scala
trait Playable {
  def play(millis: Int)
}

object Manager inherits Playable { .. }
object Scene inherits Playable { }
// etc