Extension manager: Implement extension table

This uses a lot of code and the whole design from the previous extension
manager implementation.