Move part of the visual feedback to Python

Allows us more fine-grained feedback. Plus, makes me reuse that Python
port of kh_msg ;p.