rhhayne spireland adds abstract class for refreshable controller