OK I don't have a particular use case in mind, but this could be more general if it returned a Future[Boolean] where true indicates that the request has been handled and false indicates that it wasn't handled. Returning Future.success(false) immediately would essentially be the same as returning None, but using Future[Boolean] would also allow the decision about whether handling could occur to happen asychronously if that made sense for a particular handler. (We could still optimise the Future.success(false) case to happen just as quickly as None.)