class TweetRequestFundedHandler {

    @EventListener
    @Async("taskExecutor")
    @Transactional(readOnly = true, propagation = REQUIRES_NEW)
    public void handle(final RequestFundedNotificationDto notification) {
        final FundDto fund = fundService.findOne(notification.getFundId());
        Context context = new Context();
        context.setVariable("platformBasePath", platformBasePath);
        context.setVariable("fund", fund);

        final String message = githubTemplateEngine.process("notification-templates/request-funded-tweet", context);
        tweetOnFundTwitterTemplate.timelineOperations().updateStatus(message);
    }

    public  TweetRequestFundedHandler(final Twitter tweetOnFundTwitterTemplate,
                                     final ITemplateEngine githubTemplateEngine,
                                     final FundService fundService,
                                     @Value("${io.fundrequest.platform.base-path}") final String platformBasePath);

}