This makes the backend runtime not constantly search for messages to be processed. Instead, it only wakes up when it needs to be woken up via goroutines.
This adds the backend API, as well as backend infrastructure, including autostarting and basic communication between the Goroutine + Application.