Unfinished: Breaking up tool effects into individual classes for clarity and modularity.