Wrap up everything into a packaged app.

This is necessary to get the permission to talk UDP.