Easy, annotation-based caching for Tapestry 5 services