New class: Navigator
Separate common stuff in common.hpp