save()
save(object  $obj) : object
                Save handler, because DRY
Parameters
| object | $obj | Model to be saved  | 
                            
Throws
- \Ceo\Core\Managers\Exception
 Json encoded string of validation errors
Returns
object —Model
Lock manager handles creation and management of locking requests.
Managers provide a service layer in front of models. Managers implement domain specific logic, checks and initialization that would normally live in multiple controllers.
getPaginator(integer $page = 1, integer $limit = 50) : \Ceo\Core\Managers\Ceo\Core\ModelHelpers\Paginator
Helps paginate models using the query bulder. Bit more complicated than the native array method, but works better for larger data sets
Because it's based on Phalcon's QueryBuilder, it supports a fluent filtering interface:
    $manager = $this->foo_manager;
    $items = $manager->getPaginator(1, 20)
        ->orderBy('created_at desc')
        ->where('name = :name:', array('name' => $name))
        ->andWhere('type = :type:', array('type' => $type))
        ->paginate();
    echo json_encode($items);
                                    | integer | $page | Current page  | 
                            
| integer | $limit | Per page limit  | 
                            
create(string $srn, mixed $user) : \Ceo\Core\Models\LockRequest
Create new lock. The SRN parameter is the parent resource SRN.
| string | $srn | PARENT SRN  | 
                            
| mixed | $user | User model or ID  | 
                            
If lock already exists or mutex service cannot aquire lock
findFirstByContentSrn(string  $srn) : \Ceo\Core\Models\LockRequest
                Find first lock instance by PARENT content SRN
| string | $srn | Parent SRN  | 
                            
findFirstByUuid(string  $uuid) : \Ceo\Core\Models\LockRequest
                Find first lock by lock UUID
| string | $uuid | Lock's UUID  |