-Currently, DBSubProgram wraps a vector instead of inheriting it.
-Substitute the query builder by an architecture based on a strategy.