переписал под PDO, добавил фабрику

Надо будет пример запилить да пару тестов, так вроде все ок.