feat(*): introduce subcommands

Drop -action= and use subcommands instead. This should lead to lots of
code cleanup opportunities too.