pub trait Timeline {
// Required methods
fn start_time(&self) -> f32;
fn stop_time(&self) -> f32;
fn current_time(&self) -> f32;
fn state(&self) -> &TimelineState;
fn start(&mut self);
fn forward(&mut self);
fn pause(&mut self);
fn actions(&self) -> &Vec<Action>;
fn add_action(&mut self, action: Action);
fn add_infinite_action(&mut self, action: Action);
}