These getter methods could probably be made generic for better errors when they're not used properly. e.g. the following call would let us catch the `ClassCastException` in the getter and throw a more appropriate exception saying that the task with the given id is not of the expected type.

```java
MyAsyncTaskHandle handle = asyncTaskManagerServiceImpl.<MyAsyncTaskHandle>getHandle(myTaskId);
```

The only potential issue is that if we want to use it without a cast it might not be as nice to work with.