I used the notification class as a base for this, but I guess some of it is probably redundant for action