Cleaning up the fun stuff
cleaning up require functionality
proper inheritance of handling of __static and __parent when inheriting