While working on SIGMON-475, I couldn't refactor easily because typehints were spread everywhere because of the use of register_result and get_result. This MR aims at making refactoring easier.