Treat Action and Cost like a class type
Make search.hpp concise