I know it's probably a bad practice somewhere to create a method that sometimes calls a callback sync, and sometimes async.