duplicate of BrooklynRestResources -- should refactor this process out as static methods in `Entities.instantiate(XXX)` ?