Issue #3 - Start implementation of database abstraction layer with sqlite