tom: refactor so we can support multiple queue implementations, rename proj to cuteyp