Add getter/setter, add destroy() method, add option to pass in create() callback, minor cleanup