Just wrap a std::list member instead of deriving from it.
Make the keepalive timeout configurable through the options