(feat): Updated function methods to be generic

This allows those method signatures to be passed through, but gain the
benefits of things like throttle, memoize.