Implements a model manager which filters for only available products. Also refactors the order function