BDD abstraction layer