> (you don't have to strictly follow this form)

**Use case**

Support manually snapshot for Keeper.

**Describe the solution you'd like**

Throught 4lw commands, such as `csnp`.


: IFourLetterCommand(keeper_dispatcher_)
    {
    }
    String name() override { return "wchs"; }
    String run() override;
    ~BriefWatchCommand() override = default;
};
struct WatchCommand : public IFourLetterCommand
{
    explicit WatchCommand(KeeperDispatcher & keeper_dispatcher_)
        : IFourLetterCommand(keeper_dispatcher_)
    {
    }
    String name() override { return "wchc"; }
    String run() override;
    ~WatchCommand() override = default;
};
struct WatchByPathCommand : public IFourLetterCommand
{
    explicit WatchByPathCommand(KeeperDispatcher & keeper_dispatcher_)
        : IFourLetterCommand(keeper_dispatcher_)
    {
    }
    String name() override { return "wchp"; }
    String run() override;
    ~WatchByPathCommand() override = default;
};
struct DumpCommand : public IFourLetterCommand
{
    explicit DumpCommand(KeeperDispatcher & keeper_dispatcher_):