modified architecture
observer -> interpreter -> task manager -> executor