Add a helper class that provides readline-based tab completion and an extra optional argument "completion_choices" with possible completion targets. While at this, also improve paramters documentation for ask() func.