refactored for less code complexity using a delegation from Ooor:Base to its ModelTemplate