Remove plum.log file, and on Windows, redirect stdout/stderr streams to log files and make them nonblocking -- add a 'console' plum.cfg setting to attach a console window. Add __pairs metamethod to all of Plum's userdata types so their attributes can be iterated over with pairs(obj) -- this exposes the metatable of each userdata (second return value of pairs is the data to pass to 'next'), but I don't really think that's a problem (hopefully). I might make a more expensive readonly copy of the metatable that omits metamethods to prevent monkeying just to be safe though.