client: loader view listens to App model instead of socket model