When callback instead of promise for flexibility. Allow both in the future.