mod keyboard;
mod mouse;
mod state;

pub use self::keyboard::{Keyboard, KeyboardState};
pub use self::mouse::{Mouse, MousePosition, MouseProximity, MouseState};
pub use self::state::{Input, InputState, InputDifference, InputTransition};

pub use event::{MouseButton, VirtualKeyCode};

#[cfg(test)]
mod tests {
    use super::*;
}

mod keyboard;
mod mouse;
mod state;

pub use self::keyboard::{Keyboard, KeyboardState};
pub use self::mouse::{Mouse, MousePosition, MouseProximity, MouseState};
pub use self::state::{Element, Input, InputState, InputDifference, InputTransition, State};

pub use event::{MouseButton, VirtualKeyCode};

#[cfg(test)]
mod tests {
    use super::*;
}

--- 
+++ 
@@ -4,7 +4,7 @@
 
 pub use self::keyboard::{Keyboard, KeyboardState};
 pub use self::mouse::{Mouse, MousePosition, MouseProximity, MouseState};
-pub use self::state::{Input, InputState, InputDifference, InputTransition};
+pub use self::state::{Element, Input, InputState, InputDifference, InputTransition, State};
 
 pub use event::{MouseButton, VirtualKeyCode};
 
Remove re-exports of internal traits.
