make Fabric API more DSL-like