don't need the method_exists check as all datasources will have a getLastId method