class Guest extends AbstractLoggingActor {

    public static Props props(final ActorRef waiter, final Coffee favoriteCoffee,
                              final FiniteDuration finishCoffeeDuration, final int caffeineLimit) {
        return Props.create(Guest.class,
                () -> new Guest(waiter, favoriteCoffee, finishCoffeeDuration, caffeineLimit));
    }

    public  Guest(ActorRef waiter, Coffee favoriteCoffee, FiniteDuration finishCoffeeDuration, int caffeineLimit);

}