Fixed all the bugs in the DMA, again :)

+ Uses the AddrListeners where appropiate