Products functionality

Products functionality added to database
Changed how the callbacks in Database work, slightly better implementation. Maybe throw our own errors in the future?