This is very similar to `Task` class. I wonder if it would be sensible to extract common behavior to a superclass (like e.g. `RailsResource`)?