Change singleton pattern a bit, split it into tools