Add a second Readable trait for state args, clean macros slightly