Abstract handler