I put up NGUI 2.6.2, which has the Pop() function in it, so new users won't run into the same problem.
@danreid70: TNet's Player class is in a namespace so it won't cause conflicts, but if another package defines theirs outside a namespace, then yes there is going to be ambiguity.
@Daniel: I like short and to-the-point scripts. When I'm looking at a button, I want to be able to see exactly what the button does without having to track down which function it calls within some giant blob of a class. Singletons lead to singletonitis, and should generally be reserved for special classes -- "game manager", for example. That said, MVC and singletons don't have much to do together. MVC is good, but should be followed loosely. It's always a good idea to separate your input (controller) from your main logic (model), as it allows you to have input come from various sources without having to alter game code (example: keyboard/mouse, or network player).
Separating main logic from visualization (view) makes a lot of sense in game engine design (the ability to swap in an OpenGL renderer with a DirectX one for example), but in case of a Unity-based game doesn't really apply. Too much separation leads to confusion, frustration, and much difficulty when it comes to maintaining the code later.
Short and to-the-point scripts, on the other hand, never cause problems, and are always the easiest kind of scripts for other users to learn from.