Improved inheritance mechanism. Maintains constructor description, doesn't confuse prototype properties.