Add abstract Query class which can be extended by specific query types
Migrate Update and Delete to new structure (with tests)