New interfaces IProvider

Issue #12 
tohle mi prijde moc obecne, vsechny ty get metody bych upravil na `getRabbit...()`