So I am Attempting to follow the SOLID Principles while using NGUI...Particularly when it comes to the O part the Open/Closed principle and extending any NGUI class that i need a little extra functionality from. Generally the scripts seem to have been made with this in mind, quite a few virtual functions sitting around...However i recently subclassed from UIScrollView and i noticed the Awake function was not protected virtual, and my question is, is this by design or do you think the dev(s) never got round to it? The subclass is working without a hitch...Until of course i want to instantiate my own subclass member variables via Awake() or Start(), then i am out of luck.