Modify trace api

@mortenvp I finished the unit tests and fixed the todos as good as i could. Please let me know what you think? :)