Over the last year AS210036 has been developing a BGP speaker implementation for research and development of BGP technologies. The aims of this project include greater programmability of the control plane, decoupling BGP from routing devices, and providing an API to enable development of new BGP features easily. In this talk we will present the software design, go into some of the architectural decisions, and explore some potential future research directions that this work can enable.