Block flush

- gradle works, but only for building a library project.
- Created a new interface TimerDispatcher and a basic/intermediate implementation. Default impl recreates previous functionality. Intermediate impl should create a timer that flushes every n milliseconds.
- also added functionality to automatically flush queue after a certain capacity threshold has been reached.