Added the self.prepare_query and self.fetch methods. Overengineering much?