There are no delegates, or events (yet). That is planned for a future release. For now you can poll the playable director time and/or state to simulate events. You can change the track binding in script using the PlayableDirector SetGenericBinding method. The timeline asset (or any playable asset) contains a list of bindings in it's outputs property. Within each binding is a sourceObject. That's a reference for the timeline track, and can be used as the first parameter to SetGenericBinding. The second parameter is the new scene object (e.g. animator or game object) you want to bind to.