A PDO Abstraction Layer using interfaces for better use and integration