ODE Middleware

In guns.py you have:

class gun(pickableObject, DirectObject):

I was just wondering why you have your gun class deriving from DirectObject? It seems to work without that base class as long as I remove the self.ignoreAll call.