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);

}