One state machine with 16 layers running at once: idle, blink, an actions layer (wave and jump, with the jump allowed to interrupt a wave), one layer per wearable, a swatch-selection layer and nine hover layers. The view model holds hat, scarf, glasses, bodyColor and the wave and jump triggers. The state machine also fires waved and jumped events back to the host app, so a product can play a sound or log the moment.