A doubly linked list C API that can accept any Data type that provides a set of requested methods