[enh] can use callable to query
[doc] update TODO
[doc] add example with callalbe