initial attempt for abstraction; druid works with Derby as default

isStatementException seems to be leaking implementation, 
may be change the insert method to insert(Task task) throws TaskExistsException to be a high level api implementations of which are responsible for exception handling.