Got rid of the optional parameters and went with method overloads instead, also changed the strategy for the GenericRepository - instead of expression trees