#87 backend refactoring

closes #87, closes #25
Short summary: Removed internal states besides _while_capturing. Update() now returns whether the given setup leads to a legal or illegal situation.