em: prepare_message() is not virtual