consider loading/exit screens
add view binding and events
add view binding
add view events
begin state machine