Got the abstraction for stack and adapter pretty right