Global objects are evil
Dynamic Method Dispatch