First stab at Producer implementation (Autobahn rip off) and some utility classes