I would like to get all breaking changes finalized. The implementation details can be fixed later :p