public function create($type, Model $sender, Model $object = NULL, $users = array(), $data = NULL)
    {
        $class = $this->getClass($type);
        $notification = new $class();

        if ($data)
        {
            $notification->data = $data;
        }
        $notification->sender()->associate($sender);
        if ($object)
        {
            $notification->object()->associate($object);
        }
        $notification->save();

        $notification_users = array();
        foreach ($users as $user)
        {
            $notification_user = new Models\NotificationUser($notification);
            $notification_user->user_id = $user->id;
            $notification_users[] = $notification_user;
        }
        $notification->users()->saveMany($notification_users);

        return $notification;
    }