Fix #40 - replace complicated timer based implementation with ticker based

Fix #40