Update factories to not rely on non-interface methods