stackable objects compatible with promises