+ allow to return future in callbacks