Move interactive commands to their own module