Sometimes we need to extends basic query builder.
Of course scopes decide many our problems, but they can't return value.
For example we need to use caching query, but we must calculate/read from config/db caching time.
Write it in every cahing query is not good choise. So we can define custom query builder. So, do it.