Refactor UI into separate NS, add retries