Rewrite method to use callbacks

- 100% coverage all day every day.