This design of passing the client into isolated objects and then creating facade methods in the client class is a great idea. Seriously good work on this man.