Music playing could be refactored into:
- gameplay events for starting music
- ui events for stopping and starting music
- controller that keeps track of the current music, the list of music data, and sends ui events to start and stopping individual musics
- "view" implementations of music that play; implement their own fade routines
Stopping and starting music ui events would include how fast they should fade in or out.
Music playing could be refactored into:
Stopping and starting music ui events would include how fast they should fade in or out.