Don't build these things, instead build protocols and expose system level APIs for application developers to build things.