Tweaking some formatting and removing a trait
Don't need the channel for tasks
Require Share for the extra param

This is being shared among multiple threads
Use #[repr(C)] for FFI structs