Authentication method can now take a proc