Abstract classes to easily create pull to refresh controls