Improved API: Routes can return shelf.Response or Future<shelf.Response>