Wouldn't this work better with AsyncComponent?